start-overview.md 4.1 KB
Newer Older
E
ester.zhou 已提交
1
# Before You Start
G
ge-yafang 已提交
2

E
ester.zhou 已提交
3
This document is intended for novices at developing OpenHarmony applications. It will introduce you to the OpenHarmony project directory structure and application development process, by walking you through a stripped-down, real-world example – building two pages and implementing redirection between them. The following figure shows how the pages look on the DevEco Studio Previewer.
G
ge-yafang 已提交
4

E
ester.zhou 已提交
5
![en-us_image_0000001364254729](figures/en-us_image_0000001364254729.png)
G
ge-yafang 已提交
6

E
ester.zhou 已提交
7
Before you begin, there are two basic concepts that will help you better understand OpenHarmony: UI framework and application model.
G
ge-yafang 已提交
8 9 10 11 12 13 14


## Basic Concepts


### UI Framework

E
ester.zhou 已提交
15
OpenHarmony provides a UI development framework, known as ArkUI. ArkUI provides a full range of capabilities you may need for application UI development, ranging from components to layout calculation, animation, UI interaction, and drawing capabilities.
G
ge-yafang 已提交
16

E
ester.zhou 已提交
17
ArkUI comes with two development paradigms: ArkTS-based declarative development paradigm (declarative development paradigm for short) and JavaScript-compatible web-like development paradigm (web-like development paradigm for short). You can choose whichever development paradigm that aligns with your practice.
G
ge-yafang 已提交
18

E
ester.zhou 已提交
19 20 21 22
| **Development Paradigm**| **Programming Language**| **UI Update Mode**| **Applicable To**                    | **Intended Audience**                          |
| ---------------- | ------------ | -------------- | -------------------------------- | -------------------------------------- |
| Declarative development paradigm  | ArkTS   | Data-driven  | Applications involving technological sophistication and teamwork| Mobile application and system application developers|
| Web-like development paradigm   | JavaScript      | Data-driven  | Applications and service widgets with simple UIs    | Frontend web developers                       |
G
ge-yafang 已提交
23

E
ester.zhou 已提交
24
For more details, see [UI Development](../ui/arkui-overview.md).
G
ge-yafang 已提交
25

E
ester.zhou 已提交
26
### Application Model
G
ge-yafang 已提交
27

E
ester.zhou 已提交
28
The application model is the abstraction of capabilities required by OpenHarmony applications. It provides necessary components and running mechanisms for applications. With application models, you can develop applications based on a unified set of models, making application development simpler and more efficient. For details, see [Elements of the Application Model](../application-models/application-model-composition.md).
G
ge-yafang 已提交
29

E
ester.zhou 已提交
30
Along its evolution, OpenHarmony has provided two application models:
G
ge-yafang 已提交
31

E
ester.zhou 已提交
32 33
- Feature Ability (FA) model. This model is supported by OpenHarmony API version 7 and 8. It is no longer recommended. For details about development based on the FA model, see [FA Model Development Overview](../application-models/fa-model-development-overview.md).
- Stage model. This model is supported since OpenHarmony API version 9. It is recommended and will evolve for a long time. In this model, classes such as **AbilityStage** and **WindowStage** are provided as the stage of application components and windows. That's why it is named stage model. For details about development based on the stage model, see [Stage Model Development Overview](../application-models/fa-model-development-overview.md).
E
ester.zhou 已提交
34

E
ester.zhou 已提交
35
For details about the differences between the FA model and stage model, see [Interpretation of the Application Model](../application-models/application-model-description.md).
G
ge-yafang 已提交
36

E
ester.zhou 已提交
37
To help you better understand the preceding basic concepts and application development process, **Getting Started** provides a development example that contains two pages in different programming languages and application models.
G
ge-yafang 已提交
38 39 40 41


## Tool Preparation

E
ester.zhou 已提交
42
1. Download the latest version of [DevEco Studio](https://developer.harmonyos.com/cn/develop/deveco-studio).
G
ge-yafang 已提交
43

E
ester.zhou 已提交
44
2. Install DevEco Studio and configure the development environment. For details, see [Setting Up the Development Environment](https://developer.harmonyos.com/en/docs/documentation/doc-guides/ohos-setting-up-environment-0000001263160443).
G
ge-yafang 已提交
45

E
ester.zhou 已提交
46
When you are done, follow the instructions in [Getting Started with ArkTS in Stage Model](start-with-ets-stage.md), [Getting Started with ArkTS in FA Model](start-with-ets-fa.md), and [Getting Started with JavaScript in FA Model](start-with-js-fa.md).