HarmonyOS應用研發

HarmonyOS應用研發

分布式全場景
[1]HarmonyOS是一款“面向未來”、面向全場景(移動辦公、運動健康、社交通信、媒體娛樂等)的分布式操作系統。在傳統的單設備系統能力的基礎上,HarmonyOS提出了基于同一套系統能力、适配多種終端形态的分布式理念,能夠支持手機、平闆、智能穿戴、智慧屏、車機等多種終端設備。對應用開發者而言,HarmonyOS采用了多種分布式技術,使得應用程序的開發實現與不同終端設備的形态差異無關。這能夠讓開發者聚焦上層業務邏輯,更加便捷、高效地開發應用。
  • 支持語言:JAVA、JS、CSS、C++、XML、HML
  • 研發工具:HUAWEI DevEco Studio
  • 應用終端:手機、平闆、車機、智慧屏、智能穿戴、智慧視覺、輕量級智能穿戴等

技術架構

[2]HarmonyOS整體遵從分層設計,從下向上依次為:内核層、系統服務層、框架層和應用層。在多設備部署場景下,支持根據實際需求裁剪某些非必要的子系統或功能模塊。HarmonyOS技術架構如下所示。

HarmonyOS應用研發

内核層

内核子系統:HarmonyOS采用多内核設計,支持針對不同資源受限設備選用适合的OS内核。内核抽象層(KAL,Kernel Abstract Layer)通過屏蔽多内核差異,對上層提供基礎的内核能力,包括進程/線程管理、内存管理、文件系統、網絡管理和外設管理等。

驅動子系統:硬件驅動框架(HDF)是HarmonyOS硬件生态開放的基礎,提供統一外設訪問能力和驅動開發、管理框架。

系統服務層

系統服務層是HarmonyOS的核心能力集合,通過框架層對應用程序提供服務。該層包含以下幾個部分:

  • 系統基本能力子系統集:為分布式應用在HarmonyOS多設備上的運行、調度、遷移等操作提供了基礎能 力,由分布式軟總線、分布式數據管理、分布式任務調度、方舟多語言運行時、公共基礎庫、多模輸入、圖形、安全、AI等子系統組成。其中,方舟運行時提供了C/C++/JS多語言運行時和基礎的系統類庫,也為使用方舟編譯器靜态化的Java程序(即應用程序或框架層中使用Java語言開發的部分)提供運行時。

  • 基礎軟件服務子系統集:為HarmonyOS提供公共的、通用的軟件服務,由事件通知、電話、多媒體、DFX(Design For X) 、MSDP&DV等子系統組成。

  • 增強軟件服務子系統集:為HarmonyOS提供針對不同設備的、差異化的能力增強型軟件服務,由智慧屏專有業務、穿戴專有業務、IoT專有業務等子系統組成。

  • 硬件服務子系統集:為HarmonyOS提供硬件服務,由位置服務、生物特征識别、穿戴專有硬件服務、IoT專有硬件服務等子系統組成。

根據不同設備形态的部署環境,基礎軟件服務子系統集、增強軟件服務子系統集、硬件服務子系統集内部可以按子系統粒度裁剪,每個子系統内部又可以按功能粒度裁剪。

框架層

框架層為HarmonyOS應用開發提供了Java/C/C++/JS等多語言的用戶程序框架和Ability框架,兩種UI框架(包括适用于Java語言的Java UI框架、适用于JS語言的JS UI框架),以及各種軟硬件服務對外開放的多語言框架API。根據系統的組件化裁剪程度,HarmonyOS設備支持的API也會有所不同。

應用層

應用層包括系統應用和第三方非系統應用。HarmonyOS的應用由一個或多個FA(Feature Ability)或PA(Particle Ability)組成。其中,FA有UI界面,提供與用戶交互的能力;而PA無UI界面,提供後台運行任務的能力以及統一的數據訪問抽象。FA在進行用戶交互時所需的後台數據訪問也需要由對應的PA提供支撐。基于FA/PA開發的應用,能夠實現特定的業務功能,支持跨設備調度與分發,為用戶提供一緻、高效的應用體驗。

參考資料

[1] 開發概覽(華為鴻蒙HarmonyOS應用開發) · HarmonyOS官網[引用日期2021-05-24]

[2] 應用開發(華為鴻蒙HarmonyOS) · HarmonyOS官網[引用日期2021-05-24]

上一篇:分布式管理任務組

下一篇:網絡系統

相關詞條

相關搜索

其它詞條