前言
首先說說為什么會想著學(xué)習(xí)HarmonyOS開發(fā),自己做過JAVA、Android開發(fā)做過不少項目也想嘗試一下新鮮的東西,其次HarmonyOS是華為推出的,作為一名有理想的愛國青年,支持國產(chǎn)支持華為。我想說“教練,我想學(xué)鴻蒙開發(fā)?。?!”
簡介
官網(wǎng):https://www.harmonyos.com/
文檔中心:https://developer.harmonyos.com/cn/documentation
在官網(wǎng)的介紹中可以發(fā)現(xiàn)鴻蒙開發(fā)分為兩種模式:Harmony應(yīng)用開發(fā)和Harmony設(shè)備開發(fā);同時華為也提供了連兩款一體化的開發(fā)IDE:DevEco Studio和DevECO Device tool,想要嘗試的同學(xué)可以下載玩一玩。


系統(tǒng)定位
HarmonyOS是一款面向全場景多設(shè)備的分布式操作系統(tǒng)。讓不同終端設(shè)備之間實現(xiàn)快速連接、能力互助、資源共享;分布式技術(shù)讓開發(fā)者實現(xiàn)與不同終端設(shè)備的形態(tài)差異無關(guān),專注于上層業(yè)務(wù)邏輯;對于設(shè)備開發(fā)者而言可以根據(jù)設(shè)備的資源能力和業(yè)務(wù)特征進行靈活裁剪組件,滿足不同形態(tài)的終端設(shè)備對于操作系統(tǒng)的要求。
HarmonyOS提供了支持多種開發(fā)語言API,支持的語言包括Java、Xml、C/C++、JS、CSS和HML(HarmonyOS Markup Language)。
技術(shù)架構(gòu)
整體設(shè)計自下向上依次為:內(nèi)核層、系統(tǒng)服務(wù)層、框架層和應(yīng)用層。
內(nèi)核層
- 內(nèi)核子系統(tǒng):HarmonyOS采用多內(nèi)核設(shè)計,支持針對不同資源受限設(shè)備選擇合適的OS內(nèi)核。
- 驅(qū)動子系統(tǒng):硬件驅(qū)動框架(HDF)是HarmonyOS硬件生態(tài)開放的基礎(chǔ),提供統(tǒng)一外設(shè)訪問能力和驅(qū)動開發(fā)、管理框架。
系統(tǒng)服務(wù)層
系統(tǒng)服務(wù)層是HarmonyOS的核心能力集合,通過框架層對應(yīng)用程序提供服務(wù)該層包含以下幾個部分:
- 系統(tǒng)基本能力子系統(tǒng)集:為分布式應(yīng)用在HarmonyOS多設(shè)備上的運行、調(diào)度、遷移等操作提供基礎(chǔ)能力,由分布式軟總線、分布式數(shù)據(jù)管理、分布式任務(wù)調(diào)度、方舟多語言運行時、公共基礎(chǔ)庫、多模輸入、圖形、安全、AI等子系統(tǒng)組成。
- 基礎(chǔ)軟件服務(wù)子系統(tǒng)集:為HarmonyOS提供公共的通用的軟件服務(wù),由事件通知、電話、多媒體、DFX、MSDP&DV等子系統(tǒng)組成。
- 增強軟件服務(wù)子系統(tǒng):為HarmonyOS提供針對不通設(shè)備的、差異化的能力增強型軟件服務(wù),由智慧屏轉(zhuǎn)悠業(yè)務(wù)、穿戴轉(zhuǎn)悠硬件服務(wù)、IOT轉(zhuǎn)悠硬件服務(wù)等子系統(tǒng)組成。
- 硬件服務(wù)子系統(tǒng):由位置服務(wù)、生物特征十八別、穿戴專有硬件服務(wù)、Iot專有硬件服務(wù)等子系統(tǒng)組成。
框架層
提供了Java/C/C++/JS等多語言的用戶程序框架和Ability框架,兩種UI框架(Java和JS框架)。
應(yīng)用層
應(yīng)用層包括系統(tǒng)應(yīng)用和第三方非系統(tǒng)應(yīng)用。HarmonyOS的應(yīng)用由一個或多個FA(Feature Ability)或PA(Particle Ability)組成。其中,F(xiàn)A有UI界面,提供與用戶交互的能力;而PA無UI界面,提供后臺運行任務(wù)的能力以及統(tǒng)一的數(shù)據(jù)訪問抽象。FA在進行用戶交互時所需的后臺數(shù)據(jù)訪問也需要由對應(yīng)的PA提供支撐?;贔A/PA開發(fā)的應(yīng)用,能夠?qū)崿F(xiàn)特定的業(yè)務(wù)功能,支持跨設(shè)備調(diào)度與分發(fā),為用戶提供一致、高效的應(yīng)用體驗。