- 鴻蒙操作系統設計原理與架構
- 李毅 任革林
- 812字
- 2024-07-24 11:18:12
2.3.3 積木化拼裝的設備開發體驗
和傳統操作系統不同,HarmonyOS支持積木化拼裝。也就是說,HarmonyOS提供一套“積木”,開發者可以根據自己的設備能力、產品特征和業務需求等自主拼裝一個操作系統。需要特別指出的是,拼裝基于一定的規則,不是隨心所欲的。換句話說,不管開發者如何天馬行空,拼裝后的結果仍然是一個可運行的操作系統。“統一OS,彈性部署”是HarmonyOS區別于其他操作系統的關鍵特征。業界也有個別操作系統支持對部分系統能力的裁剪,但裁剪難度很大,很多“積木”間由于耦合度高,往往牽一發而動全身,基本難以達成理想的目標。HarmonyOS的目標是為用戶帶來超級終端的統一體驗,這就要求必須為開發者提供“一次開發,多端部署”的用戶程序開發體驗,不同類型的設備必須使用統一操作系統。否則,超級終端的統一體驗便無從談起。
為了支持“統一OS,彈性部署”,HarmonyOS參考機械裝配領域零部件的概念,在軟件架構設計中引入部件(part)的概念。部件是指在部署視圖中具有相對獨立性、能完成一定功能、可獨立交付,但是不能獨立部署的軟件實體。HarmonyOS采用完全部件化的架構設計,并盡可能地減少部件間的耦合,除了基本的核心部件之外,大多數部件均可裁剪。為了支持在不同類型的設備上部署HarmonyOS,并使這些設備能夠組成一個超級終端,HarmonyOS定義了BCG(Basic Components Group,基礎部件組)和OCG(Optional Components Group,可選部件組)。BCG是不可裁剪的,以確保設備的基礎系統能力可用性和跨設備的互操作性。OCG是可裁剪的,以彌補設備能力的差異性。
為了確保用戶程序在不同設備之間流轉和遷移,要求高級別的設備能夠完整地支持低設備的BCG,也就是說低級別設備的BCG是高級別設備BCG的真子集。
為了進一步降低設備開發者的拼裝難度,HarmonyOS還為開發者提供了一套工具鏈——HPM(HarmonyOS Package Manager,HarmonyOS包管理器)。開發者只需要輸入特性名稱、關鍵特征或部件名稱等信息,HPM就會自動獲取相關部件的代碼倉及其依賴的代碼倉,并下載這些代碼倉,完成編譯構建等操作。拼裝完成后,系統自動完成當前設備的系統能力抽象,這極大降低了開發者的裝配難度。