- 鴻蒙HarmonyOS應用開發入門
- 柳偉衛編著
- 1137字
- 2024-12-31 20:00:44
1.3 HarmonyOS 3的新特性
HarmonyOS 3.1全新推出了應用開發Stage模型,并在ArkTS語言、應用程序框架、Web、ArkUI等子系統能力方面有所更新或增強。
HarmonyOS 3.1開放的功能包括:
· Ability框架新增Stage開發模型,包含Stage模型生命周期管理、調度、回調、上下文獲取、鑒權等。同時增強了應用的運行管理能力。
· ArkUI開發框架增強了聲明式Canvas/XComponent組件能力,增強了組件布局能力及狀態管理能力,優化了部分組件的易用性。
· 應用包管理新增查詢應用、Ability和ExtensionAbility相關屬性的接口。
· 公共基礎類庫新增支持Buffer二進制讀寫。
· Web服務新增支持文檔類Web應用的文檔預覽和基礎編輯功能,以及Cookie的管理和存儲管理。
· 圖形圖像新增支持YUV、WebP圖片編解碼等能力;新增Native Vsync能力,支持自繪制引擎自主控制渲染節奏。
· 媒體服務新增相機配置與預覽功能。
· 窗口服務新增Stage模型下窗口相關接口,增強了窗口旋轉能力,增強了避讓區域查詢能力。
· 全球化服務新增支持時區列表、音譯、電話號碼歸屬地等國際化增強能力。
· 公共事件基礎能力增強,commonEvent模塊變更為commonEventManager。
· 資源管理服務新增資源獲取的同步接口,新增基于名稱查詢資源值的接口,新增number、float資源類型查詢接口,新增Stage模型資源查詢方式。
· 輸入法服務新增輸入法光標方向常量。
1.3.1 Ability組件的生命周期
Ability生命周期切換以及和AbilityStage、WindowStage之間的調度關系如圖1-7所示。

圖1-7 Ability生命周期
Stage模型定義了Ability組件的生命周期,只包含創建、銷毀、前后臺等狀態,而將與界面強相關的獲焦、失焦狀態都放在WindowStage中,從而實現Ability與窗口之間的弱耦合;在服務側,窗口管理服務依賴于組件管理服務,前者通知后者前后臺變化,這樣組件管理服務僅感知前后臺變化,不感知焦點變化。
需要注意的是,在Ability中存在兩個與WindowStage相關的生命周期狀態,分別是onWindowStageCreate和onWindowStageDestroy,這兩個生命周期狀態的變化僅存在于具有顯示能力的設備中。前者表示WindowStage已經創建完成,開發者可以通過執行loadContent的操作設置Ability需要加載的頁面;后者在WindowStage銷毀后調用,以便開發者對資源進行釋放。
1.3.2 ArkUI開發框架
基于ArkTS的聲明式開發范式的方舟開發框架(ArkUI)是一套開發極簡、高性能、跨設備應用的UI開發框架,支持開發者高效地構建跨設備應用UI界面。
1.3.3 ArkTS編程語言
HarmonyOS提供了支持多種開發語言的API,供開發者進行應用開發,支持的開發語言包括ArkTS、JS(JavaScript)、C/C++、Java。
ArkTS是HarmonyOS優選的主力應用開發語言。ArkTS基于TypeScript(簡稱TS)語言擴展而來,是TS的超集。這也是ArkTS的原名叫eTS的原因,它是extend TypeScript的簡寫。
ArkTS繼承了TS的所有特性,并且ArkTS在TS基礎上還擴展了聲明式UI能力,讓開發者以更簡潔、更自然的方式開發高性能應用。
1.3.4 ExtensionAbility機制
不同于頁面展示的Ability,ExtensionAbility提供的是一種受限的運行環境。
ExtensionAbility組件具有如下特點:
· 運行在獨立于主進程的單獨進程中,與主進程無IPC(Inter-Process Communication,進程間通信),但共享一個存儲沙箱。
· 獨立的Context提供基于相應業務場景的API能力。
· 由系統觸發創建,應用不能直接創建。
· ExtensionAbility和進程的生命周期受系統管理。
- 鴻蒙生態:開啟萬物互聯的智慧新時代
- Linux從零開始學(視頻教學版)
- 操作系統基礎與實踐:基于openEuler平臺
- Kubernetes網絡權威指南:基礎、原理與實踐
- Linux Shell編程從入門到精通(第2版)
- 計算機系統開發與優化實戰
- 嵌入式系統及其應用(第三版)
- NetDevOps入門與實踐
- Distributed Computing with Go
- Heroku Cloud Application Development
- Advanced Infrastructure Penetration Testing
- Learning BeagleBone
- Drupal 7 Cookbook
- 完美應用Ubuntu(第2版)
- Linux內核分析及應用