一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

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

HarmonyOS開發(fā)者 ? 來源:HarmonyOS開發(fā)者 ? 作者:zhangyongzhi ? 2021-10-13 09:59 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

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

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

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

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

如圖2所示,HarmonyOS劃分為以下層級(jí):

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

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

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

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

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

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

內(nèi)核層組件化

如圖3所示,內(nèi)核層包括LiteOS、Linux和驅(qū)動(dòng)框架三個(gè)組件。

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

驅(qū)動(dòng)框架組件向驅(qū)動(dòng)層提供了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。單個(gè)系統(tǒng)能力實(shí)現(xiàn)通常分布在系統(tǒng)服務(wù)層和框架層,考慮到系統(tǒng)服務(wù)和框架緊密耦合,在HarmonyOS中未統(tǒng)一定義系統(tǒng)服務(wù)層和框架層之間的層間接口。如圖4所示,HarmonyOS將同一個(gè)功能實(shí)現(xiàn)的系統(tǒng)服務(wù)和框架組合在一起,形成一個(gè)個(gè)獨(dú)立的“組件”,每個(gè)組件提供一個(gè)的系統(tǒng)能力和對(duì)應(yīng)的API接口。組件之間基于InnerSDK完成解耦,支持組件獨(dú)立代碼下載、獨(dú)立編譯、獨(dú)立測(cè)試和組件拼裝。

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

通過“組件化”設(shè)計(jì)后,HarmonyOS支持根據(jù)設(shè)備的資源能力和業(yè)務(wù)特征靈活裁剪,滿足不同形態(tài)終端設(shè)備對(duì)操作系統(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è)備等。

可以提供多種輕量級(jí)網(wǎng)絡(luò)協(xié)議,輕量級(jí)的圖形框架,以及豐富的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和硬件合成能力,更多控件和動(dòng)效更豐富的圖形能力,以及完整的應(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)必選組件集和對(duì)應(yīng)的可選組件集。產(chǎn)品部署HarmonyOS時(shí),根據(jù)系統(tǒng)規(guī)格類型選擇對(duì)應(yīng)的最小系統(tǒng)必選組件集,同時(shí)根據(jù)不同產(chǎn)品的差異化功能需要選擇可選組件?;诮M件間依賴管理,如果某個(gè)可選組件被選擇,相應(yīng)該組件依賴的其他組件也會(huì)自動(dòng)被打包到HarmonyOS系統(tǒng)。

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

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

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

責(zé)任編輯:haq

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

    關(guān)注

    37

    文章

    7151

    瀏覽量

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

    關(guān)注

    1

    文章

    1204

    瀏覽量

    30894
  • HarmonyOS
    +關(guān)注

    關(guān)注

    80

    文章

    2126

    瀏覽量

    33043

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    HarmonyOS 5】鴻蒙中常見的標(biāo)題欄布局方案

    HarmonyOS 5】鴻蒙中常見的標(biāo)題欄布局方案 ##鴻蒙開發(fā)能力 ##HarmonyOS SDK應(yīng)用服務(wù)##鴻蒙金融類應(yīng)用 (金融理財(cái)# 一、問題背景: 鴻蒙中常見的標(biāo)題欄:矩形區(qū)域,左邊
    的頭像 發(fā)表于 07-11 18:30 ?282次閱讀
    【<b class='flag-5'>HarmonyOS</b> 5】鴻蒙中常見的標(biāo)題欄布局<b class='flag-5'>方案</b>

    HarmonyOS 5】鴻蒙中進(jìn)度條的使用詳解

    HarmonyOS 5】鴻蒙中進(jìn)度條的使用詳解 ##鴻蒙開發(fā)能力 ##HarmonyOS SDK應(yīng)用服務(wù)##鴻蒙金融類應(yīng)用 (金融理財(cái)# 一、HarmonyOS中Progress進(jìn)度條的類型
    的頭像 發(fā)表于 07-11 18:26 ?222次閱讀
    【<b class='flag-5'>HarmonyOS</b> 5】鴻蒙中進(jìn)度條的使用詳解

    HarmonyOS 5】鴻蒙頁(yè)面和組件生命周期函數(shù)

    HarmonyOS 5】鴻蒙頁(yè)面和組件生命周期函數(shù) ##鴻蒙開發(fā)能力 ##HarmonyOS SDK應(yīng)用服務(wù)##鴻蒙金融類應(yīng)用 (金融理財(cái)# 一、生命周期階段: 創(chuàng)建階段 build: 構(gòu)建
    的頭像 發(fā)表于 07-11 18:24 ?287次閱讀

    HarmonyOS 5】金融應(yīng)用開發(fā)鴻蒙組件實(shí)踐

    HarmonyOS 5】金融應(yīng)用開發(fā)鴻蒙組件實(shí)踐 ##鴻蒙開發(fā)能力 ##HarmonyOS SDK應(yīng)用服務(wù)##鴻蒙金融類應(yīng)用 (金融理財(cái)# 一、鴻蒙生態(tài)觀察 2024 年 1 月 18 日: 發(fā)布
    的頭像 發(fā)表于 07-11 18:20 ?281次閱讀
    【<b class='flag-5'>HarmonyOS</b> 5】金融應(yīng)用開發(fā)鴻蒙<b class='flag-5'>組件</b>實(shí)踐

    如何監(jiān)聽組件再次顯示的事件?

    ? ##HarmonyOS 應(yīng)用開發(fā)## 我們知道,對(duì)于組件的生命周期,有aboutToAppear和aboutToDisAppear,即監(jiān)聽這個(gè)組件被掛載和卸載的事件,和被@Entry修飾的頁(yè)面
    發(fā)表于 06-30 18:02

    HarmonyOS next】ArkUI-X休閑益智記憶翻牌【進(jìn)階】

    本文通過記憶翻牌游戲?qū)崿F(xiàn),揭秘網(wǎng)絡(luò)圖片在HarmonyOS與iOS設(shè)備上的渲染差異,并提供專業(yè)級(jí)優(yōu)化方案。基于ArkUI-X的Web組件技術(shù),我們實(shí)現(xiàn)了一套代碼雙端運(yùn)行的混合架構(gòu)。 一、跨平臺(tái)
    發(fā)表于 06-28 22:12

    HarmonyOS基礎(chǔ)組件:Button三種類型的使用

    簡(jiǎn)介 HarmonyOS在明年將正式不再兼容Android原生功能,這意味著對(duì)于客戶端的小伙伴不得不開始學(xué)習(xí)HarmonyOS開發(fā)語(yǔ)言。本篇文章主要介紹鴻蒙中的Button使用。 HarmonyOS
    的頭像 發(fā)表于 06-09 15:48 ?260次閱讀
    <b class='flag-5'>HarmonyOS</b>基礎(chǔ)<b class='flag-5'>組件</b>:Button三種類型的使用

    HarmonyOS實(shí)戰(zhàn):組件項(xiàng)目搭建

    ?本文將詳細(xì)講解HarmonyOs組件項(xiàng)目搭建的全過程,帶領(lǐng)大家實(shí)現(xiàn)一個(gè)組件項(xiàng)目。 項(xiàng)目創(chuàng)建 首先創(chuàng)建一個(gè)項(xiàng)目工程,點(diǎn)擊開發(fā)工具DevE
    的頭像 發(fā)表于 06-09 14:58 ?212次閱讀
    <b class='flag-5'>HarmonyOS</b>實(shí)戰(zhàn):<b class='flag-5'>組件</b><b class='flag-5'>化</b>項(xiàng)目搭建

    HarmonyOS Next V2 @Event

    HarmonyOS Next V2 @Event 背景 在上一節(jié)中,我們針對(duì)父子組件,講了關(guān)于傳遞數(shù)據(jù)的知識(shí)。我們了解到 @Local 是管理自己內(nèi)部的數(shù)據(jù)的, @Param 是負(fù)責(zé)接收父組件的數(shù)據(jù)
    的頭像 發(fā)表于 03-31 09:42 ?356次閱讀

    軟通動(dòng)力亮相華為HarmonyOS Connect伙伴峰會(huì)

    近日,以“一起創(chuàng)造無限可能,同風(fēng)起,耀星河”為主題的HarmonyOS Connect伙伴峰會(huì)在上海召開。作為首批HarmonyOS Connect生態(tài)解決方案商,軟通動(dòng)力受邀出席峰會(huì),與華為簽署
    的頭像 發(fā)表于 03-20 15:40 ?485次閱讀

    解決HarmonyOS應(yīng)用中Image組件白塊問題的有效方案

    HarmonyOS應(yīng)用開發(fā)過程中,通過Image組件加載網(wǎng)絡(luò)圖片時(shí),通常會(huì)經(jīng)歷四個(gè)關(guān)鍵階段:組件創(chuàng)建、圖片資源下載、圖片解碼和刷新。當(dāng)加載的圖片資源過大時(shí),Image組件會(huì)等待圖片數(shù)
    的頭像 發(fā)表于 02-17 10:08 ?1117次閱讀
    解決<b class='flag-5'>HarmonyOS</b>應(yīng)用中Image<b class='flag-5'>組件</b>白塊問題的有效<b class='flag-5'>方案</b>

    華為發(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 ?1591次閱讀

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

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

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

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

    宜科EEDS Slim數(shù)字擴(kuò)展組件介紹

    伴隨工業(yè)互聯(lián)網(wǎng)理念及數(shù)字能力建設(shè)需求的普及,企業(yè)生產(chǎn)力規(guī)劃過程對(duì)于數(shù)字能力的要求成為基礎(chǔ)技術(shù)要求,對(duì)于設(shè)備制造商而言,選擇直接開放設(shè)備數(shù)據(jù)接口或是通過搭載數(shù)字能力組件,更好的體現(xiàn)
    的頭像 發(fā)表于 07-18 16:16 ?676次閱讀
    宜科EEDS Slim數(shù)字<b class='flag-5'>化</b>擴(kuò)展<b class='flag-5'>組件</b>介紹