吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

HarmonyOS的組件化設(shè)計方案

HarmonyOS開發(fā)者 ? 來源:HarmonyOS開發(fā)者 ? 作者:zhangyongzhi ? 2021-10-13 09:59 ? 次閱讀

HarmonyOS是一款面向萬物互聯(lián)時代的、全新的分布式操作系統(tǒng)。在傳統(tǒng)的單設(shè)備系統(tǒng)能力基礎(chǔ)上,HarmonyOS提出了基于同一套系統(tǒng)能力、適配多種終端形態(tài)的分布式理念。

為了實現(xiàn)“基于同一套系統(tǒng)能力、適配多種終端形態(tài)”,HarmonyOS采用了“組件化”的設(shè)計方案,實現(xiàn)根據(jù)設(shè)備的資源能力和業(yè)務(wù)特征靈活裁剪,滿足不同形態(tài)終端設(shè)備對操作系統(tǒng)的要求。

一、為什么采用“組件化”設(shè)計方案?

分層架構(gòu)是最為流行、應(yīng)用最為廣泛的軟件架構(gòu)設(shè)計方式,將整個軟件系統(tǒng)自頂而下垂直劃分成若干個層級,對每一層的系統(tǒng)能力、特定行為進(jìn)行抽象。層級之間單向依賴,上層使用下層的各種服務(wù),而下層對上層不感知。每一層對自己的上層提供接口的同時,隱藏內(nèi)部實現(xiàn)細(xì)節(jié)。

對于中小規(guī)模系統(tǒng),基于架構(gòu)分層可以較好地解決系統(tǒng)架構(gòu)解耦和跨團(tuán)隊協(xié)作問題,每一層提供一定的業(yè)務(wù)功能,可以由不同的小團(tuán)隊負(fù)責(zé)每一層不同的業(yè)務(wù)交付。然而,對于操作系統(tǒng)這么龐大的軟件系統(tǒng),只有架構(gòu)分層還是遠(yuǎn)遠(yuǎn)不夠的,因為每一層都很復(fù)雜,同一分層內(nèi)不同模塊之間相互依賴、無序調(diào)用。如果沒有進(jìn)一步的組件化架構(gòu),絕對會給軟件工程和項目管理帶來巨大的災(zāi)難。

基于以上原因,HarmonyOS采用了組件化的設(shè)計方案,先對復(fù)雜的操作系統(tǒng)進(jìn)行架構(gòu)分層,再對每一層進(jìn)行組件化。

下面我們就來具體看看HarmonyOS的“組件化”設(shè)計方案。

二、“組件化”設(shè)計方案詳解

1. HarmonyOS架構(gòu)分層

首先,我們來看看HarmonyOS系統(tǒng)是如何架構(gòu)分層的。

如圖2所示,HarmonyOS劃分為以下層級:

應(yīng)用層:由應(yīng)用開發(fā)者交付,向最終消費(fèi)者提供UI接口,為消費(fèi)者體驗負(fù)責(zé)。應(yīng)用層向下僅依賴于框架層提供的API,應(yīng)用開發(fā)僅依賴于HarmonyOS發(fā)布的SDK。

框架層、系統(tǒng)服務(wù)層和內(nèi)核層:這三個層級屬于HarmonyOS基礎(chǔ)平臺,由HarmonyOS平臺開發(fā)者交付,面向北向應(yīng)用生態(tài)提供API和SDK,面向南向設(shè)備生態(tài)提供Driver Interface和DDK(Driver Development Kit,驅(qū)動開發(fā)包)。

驅(qū)動層:由設(shè)備開發(fā)者交付,向HarmonyOS提供器件驅(qū)動實現(xiàn)。驅(qū)動層僅依賴于驅(qū)動框架提供的Driver Interface,驅(qū)動開發(fā)僅依賴于HarmonyOS發(fā)布的DDK。

我們通過架構(gòu)分層對HarmonyOS操作系統(tǒng)進(jìn)行大顆粒系統(tǒng)解構(gòu),方便不同的生態(tài)參與方。參與方既可以相對獨(dú)立,又可以相互協(xié)作,共同構(gòu)建形形色色的智能終端設(shè)備和豐富的應(yīng)用軟件,為消費(fèi)者帶來全場景智慧服務(wù)體驗。

2. HarmonyOS基礎(chǔ)平臺組件化

HarmonyOS基礎(chǔ)平臺涉及框架層、系統(tǒng)服務(wù)層和內(nèi)核層三部分,HarmonyOS對這三個層級進(jìn)行了進(jìn)一步的組件化設(shè)計。

內(nèi)核層組件化

如圖3所示,內(nèi)核層包括LiteOSLinux和驅(qū)動框架三個組件。

LiteOS和Linux組件可以按需部署在不同設(shè)備之上。這兩個組件向系統(tǒng)服務(wù)層提供POSIX(Portable Operating System Interface,可移植操作系統(tǒng)接口)和CMSIS(Common Microcontroller Software Interface Standard,通用微處理器軟件接口標(biāo)準(zhǔn))接口,用于屏蔽不同的內(nèi)核實現(xiàn)差異。

驅(qū)動框架組件向驅(qū)動層提供了Driver Interface和DDK,向系統(tǒng)服務(wù)層提供標(biāo)準(zhǔn)化的硬件操作接口HDI(HarmonyOS Driver Interface)。

框架層/系統(tǒng)服務(wù)層組件化

HarmonyOS系統(tǒng)架構(gòu)分層根據(jù)功能定位區(qū)分了系統(tǒng)服務(wù)層和框架層,系統(tǒng)服務(wù)層是所有系統(tǒng)服務(wù)的匯總,通過框架層向應(yīng)用暴露API。單個系統(tǒng)能力實現(xiàn)通常分布在系統(tǒng)服務(wù)層和框架層,考慮到系統(tǒng)服務(wù)和框架緊密耦合,在HarmonyOS中未統(tǒng)一定義系統(tǒng)服務(wù)層和框架層之間的層間接口。如圖4所示,HarmonyOS將同一個功能實現(xiàn)的系統(tǒng)服務(wù)和框架組合在一起,形成一個個獨(dú)立的“組件”,每個組件提供一個的系統(tǒng)能力和對應(yīng)的API接口。組件之間基于InnerSDK完成解耦,支持組件獨(dú)立代碼下載、獨(dú)立編譯、獨(dú)立測試和組件拼裝。

三、HarmonyOS如何在多終端部署?

通過“組件化”設(shè)計后,HarmonyOS支持根據(jù)設(shè)備的資源能力和業(yè)務(wù)特征靈活裁剪,滿足不同形態(tài)終端設(shè)備對操作系統(tǒng)的要求。也就是說,一套HarmonyOS可以部署到不同的終端設(shè)備上。

為了部署在不同形態(tài)的終端設(shè)備上,HarmonyOS細(xì)分為以下四種基本系統(tǒng)規(guī)格

輕量系統(tǒng)(mini system)

面向MCU(Micro Control Unit,微控制單元)類處理器的設(shè)備,支持的設(shè)備最小內(nèi)存為128KiB,如智能家居領(lǐng)域的連接類模組、傳感器設(shè)備、穿戴類設(shè)備等。

可以提供多種輕量級網(wǎng)絡(luò)協(xié)議,輕量級的圖形框架,以及豐富的IoT總線讀寫組件等。

小型系統(tǒng)(small system)

面向應(yīng)用處理器的設(shè)備,支持的設(shè)備最小內(nèi)存為1MiB,如智能家居領(lǐng)域的IP Camera、電子貓眼、路由器以及行車記錄儀等。

可以提供更高的安全能力,標(biāo)準(zhǔn)的圖形框架,以及視頻編解碼的多媒體能力。

標(biāo)準(zhǔn)系統(tǒng)(standard system)

面向應(yīng)用處理器的設(shè)備,支持的設(shè)備最小內(nèi)存為128MiB,如帶屏IoT設(shè)備、智能手機(jī)

可以提供增強(qiáng)的交互能力,3D GPU和硬件合成能力,更多控件和動效更豐富的圖形能力,以及完整的應(yīng)用框架。

大型系統(tǒng)(large system)

面向應(yīng)用處理器的設(shè)備,支持的設(shè)備最小內(nèi)存為1GiB,如智慧屏、智能手表等。

可以提供支持兼容三方OS系統(tǒng)的應(yīng)用框架。

HarmonyOS根據(jù)不同的系統(tǒng)規(guī)格,分別定義了最小系統(tǒng)必選組件集和對應(yīng)的可選組件集。產(chǎn)品部署HarmonyOS時,根據(jù)系統(tǒng)規(guī)格類型選擇對應(yīng)的最小系統(tǒng)必選組件集,同時根據(jù)不同產(chǎn)品的差異化功能需要選擇可選組件。基于組件間依賴管理,如果某個可選組件被選擇,相應(yīng)該組件依賴的其他組件也會自動被打包到HarmonyOS系統(tǒng)。

在開發(fā)者資源中心DevEco Marketplace可以進(jìn)行組件管理,靈活拼裝出不同的產(chǎn)品解決方案。DevEco Marketplace的詳細(xì)介紹,請參見往期推文。

DevEco Marketplace鏈接如下:https://repo.harmonyos.com

組件是拼裝HarmonyOS的一個個零部件。每個組件都提供一定的系統(tǒng)能力,一些組件還涉及面向應(yīng)用暴露API接口。不同組件組合部署到特定設(shè)備上,面向應(yīng)用提供的API能力會存在差異。本文我們就組件的部署原理做了詳細(xì)說明,后續(xù)我們還將對組件化架構(gòu)下的組件運(yùn)行態(tài)管理、SDK管理與應(yīng)用分發(fā)原理做進(jìn)一步的詳細(xì)解析,敬請期待!

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    6895

    瀏覽量

    123745
  • 終端
    +關(guān)注

    關(guān)注

    1

    文章

    1154

    瀏覽量

    30003
  • HarmonyOS
    +關(guān)注

    關(guān)注

    79

    文章

    1982

    瀏覽量

    30577

原文標(biāo)題:一文帶你看懂HarmonyOS如何適配多種終端

文章出處:【微信號:HarmonyOS_Dev,微信公眾號:HarmonyOS開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    華為發(fā)布鴻蒙HarmonyOS 5.0.2 Release

    華為鴻蒙HarmonyOS 5.0.2 Release于1月22日在華為開發(fā)者官方正式發(fā)布。HarmonyOS 5.0.2 Release在HarmonyOS 5.0.2 Beta1的基礎(chǔ)上,進(jìn)行了
    的頭像 發(fā)表于 01-23 16:17 ?348次閱讀

    鴻蒙原生頁面高性能解決方案上線OpenHarmony社區(qū) 助力打造高性能原生應(yīng)用

    隨著HarmonyOS NEXT的正式推出,鴻蒙原生應(yīng)用開發(fā)熱度高漲,數(shù)量激增。但在三方應(yīng)用鴻蒙進(jìn)程中,性能問題頻出。為此,HarmonyOS NEXT推出了一整套原生頁面高性能解決方案
    發(fā)表于 01-02 18:00

    HarmonyOS Web頁面加載的原理和優(yōu)化方法

    在移動互聯(lián)網(wǎng)時代,應(yīng)用的頁面渲染速度對于用戶體驗至關(guān)重要。相對于原生頁面,Web頁面的性能存在多方面的技術(shù)挑戰(zhàn)。本文以HarmonyOS的ArkWeb組件為基礎(chǔ),介紹了Web頁面加載中的影響因素以及對應(yīng)的優(yōu)化方案
    的頭像 發(fā)表于 12-05 15:14 ?364次閱讀
    <b class='flag-5'>HarmonyOS</b> Web頁面加載的原理和優(yōu)化方法

    HarmonyOS NEXT Developer Beta1最新術(shù)語表

    服務(wù) 原名原子服務(wù),是HarmonyOS提供的一種面向未來的服務(wù)提供方式,是有獨(dú)立入口的(用戶可通過點擊服務(wù)卡片打開元服務(wù))、免安裝的(無需顯式安裝,由系統(tǒng)程序框架后臺安裝后即可使用)用戶應(yīng)用程序形態(tài)
    發(fā)表于 06-27 16:16

    設(shè)備智能:中國星坤線纜組件的解決方案

    在當(dāng)今快速發(fā)展的電子行業(yè)中,產(chǎn)品小型和成本效益是制造商追求的兩大目標(biāo)。中國星坤端子電纜組件以其靈活性和高效性,為電子設(shè)備制造商提供了一種理想的解決方案。本文將探討星坤端子電纜組件的優(yōu)
    的頭像 發(fā)表于 06-27 09:49 ?360次閱讀
    設(shè)備智能<b class='flag-5'>化</b>:中國星坤線纜<b class='flag-5'>組件</b>的解決<b class='flag-5'>方案</b>!

    UPS系統(tǒng)設(shè)計方案解讀

    UPS的應(yīng)用場景日趨多樣,每個場景都有其獨(dú)特的需求,對應(yīng)不同的方案。UPS系統(tǒng)方案指南繼續(xù)上新,本文將聚焦UPS設(shè)計方案展開講述。
    的頭像 發(fā)表于 06-26 10:06 ?921次閱讀
    UPS系統(tǒng)<b class='flag-5'>設(shè)計方案</b>解讀

    HarmonyOS開發(fā)案例:【使用List組件實現(xiàn)設(shè)置項】

    使用List組件、Toggle組件以及Router接口,實現(xiàn)一個簡單的設(shè)置頁,點擊將跳轉(zhuǎn)到對應(yīng)的詳細(xì)設(shè)置頁面。
    的頭像 發(fā)表于 05-10 17:01 ?1005次閱讀
    <b class='flag-5'>HarmonyOS</b>開發(fā)案例:【使用List<b class='flag-5'>組件</b>實現(xiàn)設(shè)置項】

    HarmonyOS開發(fā)案例:【基礎(chǔ)組件Slider的使用】

    學(xué)習(xí)如何使用聲明式UI編程框架的基礎(chǔ)組件。本篇Codelab將會使用Image組件、Slider組件、Text組件共同實現(xiàn)一個可調(diào)節(jié)的風(fēng)車動畫
    的頭像 發(fā)表于 05-10 16:01 ?719次閱讀
    <b class='flag-5'>HarmonyOS</b>開發(fā)案例:【基礎(chǔ)<b class='flag-5'>組件</b>Slider的使用】

    HarmonyOS開發(fā)案例:【W(wǎng)eb組件實現(xiàn)抽獎】

    基于ArkTS的聲明式開發(fā)范式的樣例,主要介紹了Web組件如何加載本地和云端H5小程序。
    的頭像 發(fā)表于 05-09 18:31 ?1434次閱讀
    <b class='flag-5'>HarmonyOS</b>開發(fā)案例:【W(wǎng)eb<b class='flag-5'>組件</b>實現(xiàn)抽獎】

    HarmonyOS開發(fā)案例:【常用組件與布局】

    HarmonyOS ArkUI提供了豐富多樣的UI組件,您可以使用這些組件輕松地編寫出更加豐富、漂亮的界面。
    的頭像 發(fā)表于 05-09 18:20 ?1295次閱讀
    <b class='flag-5'>HarmonyOS</b>開發(fā)案例:【常用<b class='flag-5'>組件</b>與布局】

    HarmonyOS實戰(zhàn)開發(fā)-深度探索與打造個性自定義組件

    ,一個頁面有且僅能有一個@Entry。只有被@Entry裝飾的組件才可以調(diào)用頁面的生命周期。 自定義組件的創(chuàng)建和渲染流程 自定義組件的創(chuàng)建:自定義組件的實例由ArkUI框架創(chuàng)建。 初始
    發(fā)表于 05-08 16:30

    HarmonyOS開發(fā)案例:【 slider組件的使用】

    主要介紹slider滑動條組件的使用。如圖所示拖動對應(yīng)滑動條調(diào)節(jié)風(fēng)車的旋轉(zhuǎn)速度以及縮放比例。
    的頭像 發(fā)表于 04-25 22:02 ?1041次閱讀
    <b class='flag-5'>HarmonyOS</b>開發(fā)案例:【 slider<b class='flag-5'>組件</b>的使用】

    HarmonyOS開發(fā)案例:【 switch、chart組件的使用】

    基于switch組件和chart組件,實現(xiàn)線形圖、占比圖、柱狀圖,并通過switch切換chart組件數(shù)據(jù)的動靜態(tài)顯示。
    的頭像 發(fā)表于 04-25 20:58 ?691次閱讀
    <b class='flag-5'>HarmonyOS</b>開發(fā)案例:【 switch、chart<b class='flag-5'>組件</b>的使用】

    鴻蒙OS開發(fā)實例:【組件模式】

    組件一直是移動端比較流行的開發(fā)方式,有著編譯運(yùn)行快,業(yè)務(wù)邏輯分明,任務(wù)劃分清晰等優(yōu)點,針對Android端的組件;與Android端的組件
    的頭像 發(fā)表于 04-07 17:44 ?713次閱讀
    鴻蒙OS開發(fā)實例:【<b class='flag-5'>組件</b><b class='flag-5'>化</b>模式】

    HarmonyOS開發(fā)技術(shù)全面分析

    難度和成本。這能夠讓開發(fā)者聚焦上層業(yè)務(wù)邏輯,更加便捷、高效地開發(fā)應(yīng)用。 ? 對設(shè)備開發(fā)者而言, HarmonyOS 采用了組件設(shè)計方案,可以根據(jù)設(shè)備的 資源能力和業(yè)務(wù)特征進(jìn)行靈活裁
    發(fā)表于 02-21 16:31
    赌场百家乐官网欺诈方法| 在线百家乐3d| 顶级赌场官网下载| 百家乐官网博娱乐网| 百家乐输惨了| 百家乐官网翻天粤qvod| 百家乐官网网站| 太阳城娱乐总站| 百家乐官网解析| 大发888娱乐城下载平台| 百家乐官网赌局| 大发888体育官网| 娱乐城开户送金| 百家乐交流群号| 三河市| 澳门百家乐娱乐平台| 太阳百家乐官网3d博彩通| 利澳百家乐的玩法技巧和规则| 网络百家乐官网必胜投注方法| 大发888真钱下载| 玩百家乐官网怎么能赢呢| 足球网| 百家乐最全打法| 大玩家百家乐官网游戏| 新花园百家乐的玩法技巧和规则| 百家乐官网改单软件| 大发888娱乐城官网下载| 百家乐打连技巧| 贵溪市| 蓝盾百家乐代理| 百家乐官网玩法规| 本溪棋牌网| 在线百家乐博彩网| 真人百家乐官网玩法| 大发888快速提现| 百家乐资金注码| 百家乐官网包赢| 大发888网址是什么| 百家乐棋牌公式| 大玩家百家乐官网游戏| 永利赌场|