一、開發準備 本篇博客基於的系統版本:華為官方HarmonyOS版本3.1、OpenHarmony版本4.0Beta 開發語言 ArkTS語言(推薦) JS語言(支持) Java語言(已放棄支持) 從Harmony4.0開始,官方主推ArkTS語言,且不再支持Java語言 UI框架-方舟開發框架(A ...
一、開發準備
本篇博客基於的系統版本:華為官方HarmonyOS版本3.1、OpenHarmony版本4.0Beta
開發語言
- ArkTS語言(推薦)
- JS語言(支持)
- Java語言(已放棄支持)
從Harmony4.0開始,官方主推ArkTS語言,且不再支持Java語言
UI框架-方舟開發框架(ArkUI框架)
個人理解:類似iOS的UIKit/SwiftUI,或者安卓的Jetpack的UI組件/Compose
開發範式
方舟開發框架(ArkUI框架)針對不同目的和技術背景的開發者提供了兩種開發範式:
- 聲明式開發範式:ArkTS的聲明式開發範式
- 類Web開發範式:相容JS的類Web開發範式
開發範式名稱 | 語言生態 | UI更新方式 | 適用場景 | 適用人群 |
---|---|---|---|---|
聲明式開發範式 | ArkTS語言 | 數據驅動更新 | 複雜度較大、團隊合作度較高的程式 | 移動系統應用開發人員、系統應用開發人員 |
類Web開發範式 | JS語言 | 數據驅動更新 | 界面較為簡單的程式應用和卡片 | Web前端開發人員 |
個人理解:類似iOS的SwiftUI(聲明式)和UIKit,或者安卓的JetpackCompose(聲明式)和JetpackUI
應用模型
概念
- 官方解釋:應用模型是HarmonyOS為開發者提供的應用程式所需能力的抽象提煉,它提供了應用程式必備的組件和運行機制。
- 個人理解:開發腳手架+底層運行引擎,類似開發模板
模型
- Stage模型:HarmonyOS 3.1 Developer Preview版本開始新增的模型,是目前主推且會長期演進的模型。在該模型中,由於提供了AbilityStage、WindowStage等類作為應用組件和Window視窗的“舞臺”,因此稱這種應用模型為Stage模型。
- FA(Feature Ability)模型:HarmonyOS早期版本開始支持的模型,已經不再主推。
Stage和FA的區別
技術選型
根據官方文檔中的介紹,目前合適的開發技術棧組合:
Stage模型 + 聲明式開發範式 + ArkUI框架 + ArkTS語言
二、環境搭建
下載DevEcoStudio
HarmonyOS 3.1 Release (推薦)
目前華為官方HUAWEI DevEco Studio開放下載的版本為3.1 Release,支持到HarmonyOS4.0
下載地址:HUAWEI DevEco Studio 3.1 Release
OpenHarmony 4.0 Beta2
- 華為從HarmonyNext版本開始,也就是HarmonyOS4.0之後的版本,將刪除AOSP代碼,既純凈版鴻蒙;
- 如果想提前瞭解Next版本的內容,可以在OpenHarmony官網下載HUAWEI DevEco Studio 的4.0 Beta2版本進行開發
下載地址:HUAWEI DevEco Studio 4.0 Beta2
配置開發環境
配置開發環境官方文檔,這裡不再贅述,使用預設選項,一路Next即可。
三、HelloWorld
1.創建ArkTS工程
打開DevEco Studio,點擊Create Project創建工程。或通過DevEco Studio的菜單File > New > Create Project來創建一個新工程。
選擇Application應用開發,選擇模板“Empty Ability”,點擊Next進行下一步配置。
進入配置工程界面,Compile SDK選擇“3.1.0(API 9)”,Model 選擇“Stage”,其他參數保持預設設置即可。
點擊Finish,等待十幾秒MyApplication工程就創建完成了。
2.ArkTS工程目錄結構(Stage模型)
目錄說明:
| MyApplication
|__ entry: HarmonyOS工程模塊,編譯構建生成一個HAP包。
|__ src: 用於存放ArkTs源碼
|__ main
|__ ets
|__ entryability: 應用/服務的入口
|__ pages: 應用/服務包含的頁面
|__ resources: 存放應用/服務所用到的資源文件,如圖形、多媒體、字元串、佈局文件
文件說明:
- AppScope > app.json5:應用的全局配置信息。
- entry > src > main > module.json5:Stage模型模塊配置文件。主要包含HAP包的配置信息、應用/服務在具體設備上的配置信息以及應用/服務的全局配置信息。 module.json5配置文件
- entry > build-profile.json5:應用級配置信息,包括簽名、產品配置等。
- entry > hvigorfile.ts:應用級編譯構建任務腳本。
3.頁面源碼
打開entry > src > main > pages > Index.ets 文件,查看頁面源碼:
@Entry
@Component
struct Index {
@State message: string = 'Hello World'
build() {
Row() {
Column() {
Text(this.message)
.fontSize(50)
.fontWeight(FontWeight.Bold)
}
.width('100%')
}
.height('100%')
}
}
4.啟動模擬器
創建模擬器
點擊DevEco Studio右上角的No Devices > Device Manager,或者點擊菜單Tools > Device Manager
在Device Manager界面,選擇Local Emulator(本地模擬器),點擊 New Emulator
一路Next,等待模擬器文件(1G左右)下載完成後,模擬器既完成創建。
啟動模擬器(重要)
註意創建完模擬器後,DevEco Studio右上角依然顯示的是No Devices,需要我們先在Device Manager中手動啟動模擬器
啟動完成後:
運行程式
點擊DevEco Studio右上角的Run按鈕,運行程式
運行成功後:
恭喜完成了第一個HarmonyOS應用。