HarmonyOS基本概念

一、什么是HarmonyOS

  • 2019年8月9日,華為在華為開發(fā)者大會上正式發(fā)布HarmonyOS 1.0,同時將該操作系統(tǒng)開源。
  • 2020年9月10日,HarmonyOS 2.0 正式發(fā)布。
  • 2022年11月4日,全新的HarmonyOS 3.1發(fā)布,引入全新的Stage模型(準備放棄FA模型)。

二、目標

本文章將帶領(lǐng)我們掌握以下技能:

  • 理解HarmonyOS基本概念;
  • 體會HarmonyOS設(shè)計理念;
  • 區(qū)分HarmonOS技術(shù)架構(gòu)層次;
  • 了解HarmonOS部件化架構(gòu)設(shè)計;
  • 掌握HarmonOS技術(shù)特性;
  • 了解HarmonOS系統(tǒng)安全;

三、HarmonyOS簡介

萬物互聯(lián)時代正在開啟

經(jīng)過十多年的發(fā)展,傳統(tǒng)移動互聯(lián)網(wǎng)的增長紅利已漸見頂,IoT時代即將到來。

新場景帶來的挑戰(zhàn)

不同的設(shè)備類型意味著不同的傳感器能力、硬件能力。屏幕尺寸、操作系統(tǒng)和開發(fā)語言,以及交互方式等。同時跨設(shè)備協(xié)作也讓開發(fā)者面臨這分布式開發(fā)帶來的各種復(fù)雜性,適配和管理工作也將非常巨大。當前移動應(yīng)用開發(fā)中遇到的主要挑戰(zhàn)包括以下一種:

  1. 針對不同設(shè)備上的不同操作系統(tǒng),重復(fù)開發(fā),維護多套版本。
  2. 多種語言棧,對技術(shù)人員技能要求較高。
  3. 多種開發(fā)框架,不同的編程范式。
  4. 命令式編程,需要關(guān)注細節(jié),變更頻繁,維護成本高。

移動終端應(yīng)用生態(tài)面臨變革

傳統(tǒng)應(yīng)用具有以下優(yōu)缺點:

優(yōu)點:

  • 功能齊全
  • 整體體驗好

缺點:

  • 厚重
  • 開發(fā)周期長、成本高
  • 信息、應(yīng)用孤島(傳統(tǒng)應(yīng)用之間是彼此獨立的、碎片化的)
  • 以應(yīng)用未中心,而非用戶為中心
  • 需要用戶主動關(guān)注等顯性操作

輕量化程序?qū)嶓w正在成為新的趨勢,輕量化程序具備“即用即走、無需安裝卸載、永遠最新”的特征,推動了App基于搜索下載的“人找應(yīng)用”的傳統(tǒng)分發(fā)想“服務(wù)找人”的智慧分發(fā)演進。

鴻蒙生態(tài)迎接挑戰(zhàn)

  • 單一設(shè)備延伸打多設(shè)備

    應(yīng)用一次開發(fā)就能在多個設(shè)備上運行,軟件實體能夠從單一的設(shè)備轉(zhuǎn)移到其他設(shè)備上,且多個設(shè)備之間能夠協(xié)同運行,給消費者提供全新的分布式體驗。

  • 厚重應(yīng)用模式到輕量化服務(wù)模式

    提供輕量化的服務(wù),最小化資源消耗,一步直達,快速完成消費者特定場景的任務(wù)。

  • 智慧分發(fā)到AI加持下的智慧分發(fā)

    為消費者提供智慧服務(wù)場景服務(wù),實現(xiàn)“服務(wù)找人”。

  • 純軟件到軟硬芯協(xié)同的AI能力

    提供軟硬芯協(xié)同話的原生AI能力,全面滿足應(yīng)用高性能訴求。

HarmonyOS系統(tǒng)定義

  • HarmonyOS是一款面向萬物互聯(lián)時代的、全新的分布式操作系統(tǒng)。
  • 在傳統(tǒng)的單設(shè)備系統(tǒng)能力基礎(chǔ)上,HarmonyOS提出了基于同一套系統(tǒng)能力、設(shè)備多種終端形態(tài)的分布式理念,能夠支持手機、平板、智能穿戴、智慧屏、車機等多種終端設(shè)備,提供全場景(移動辦公、運動健康、社交通訊、媒體娛樂)業(yè)務(wù)能力。

HarmonyOS發(fā)展史

2019年 > HarmonyOS正式發(fā)布并開源核心代碼。

2020年 > 鴻蒙智聯(lián)面向硬件生態(tài)伙伴全面開放

2021年 > 手機及多種智能終端設(shè)備搭載HarmonyOS 2

2022年 > 全新的HarmonyOS 3.1發(fā)布并推出Stage模型,五大場景體驗持續(xù)化鴻蒙生態(tài)更加成熟

2023年 > HarmonyOS 4 發(fā)布

2024年 > HarmonyOS NEXT 正式發(fā)布,拋棄對AOSP的支持,鴻蒙原生應(yīng)用全面啟動。(不出意外的話,因為現(xiàn)在還是2023年,偷笑.jpg)

ArkTS

ArkTs 是華為自研的開發(fā)語言。它在TypeScript的基礎(chǔ)上,匹配ArkUI框架,拓展了聲明式UI、狀態(tài)管理等相應(yīng)的能力,讓開發(fā)者以更簡潔、更自然的方式開發(fā)跨端應(yīng)用。

@Entry
@Component
struct SecondPage {
  @State myText: string = 'World'

  build() {
    Column() {
      Text(`Hello ${this.myText}`)
        .fontSize(50)
      Divider()
      Button('Click me')
        .onClick(() => {
          this.myText = 'ArkUI'
        })
        .height(50)
        .width(100)
        .margin({ top: 20 })
    }
    .height('100%')
    .justifyContent(FlexAlign.Center)
  }
}
ArkTS的基本組成

兼容JS/TS語言基于JS/TS構(gòu)建

ArkUI

ArkUI是一套構(gòu)建分布式應(yīng)用界面的聲明式UI開發(fā)框架。它使用極簡的UI信息語法、豐富的UI組件、以及實時界面預(yù)覽工具,提升開發(fā)效率。使用一套ArkTS API,就能在多個HarmonyOS設(shè)備上提供生動流暢的用戶界面體驗。

邏輯和UI分離通過利用數(shù)據(jù)雙向綁定機制傳遞頁面變化邏輯,將流轉(zhuǎn)7個步驟簡化為2個步驟。可將跨端遷移和協(xié)同的開發(fā)代碼量降低40%以上。

方舟編譯器(ArkCompiler)

  • ArkCompiler是華為自研的統(tǒng)一編程平臺,包含編譯器、工具鏈、運行時等關(guān)鍵部件,支持多種編程語言、多種芯片平臺聯(lián)合編譯、運行而設(shè)計的統(tǒng)一編程運行時平臺。支持包括動態(tài)類型和靜態(tài)類型語言在內(nèi)的多種編程語言,如:JS、TS、ArkTS等。

  • 方舟編譯器是鴻蒙系統(tǒng)作為手機、PC、平板、電視、車機和智能穿戴設(shè)備等多種設(shè)備統(tǒng)一操作系統(tǒng)的編譯運行時底座。主要分成兩個部分:

    1. 編譯工具鏈

      編譯工具鏈以ArkTS/TS/JS源碼作為輸入,將其編譯成為ABC(ArkCompiler Byte Code,即方舟字節(jié)碼)文件。

    2. 運行時

      運行時直接運行字節(jié)碼文件,實現(xiàn)對應(yīng)語言規(guī)范的語義邏輯。

方舟編譯器具有以下特點:

  1. AOT編譯模式

    ArkCompiler利用ArkTS的靜態(tài)類型信息,進行類型推導(dǎo)并生成對象描述和內(nèi)聯(lián)緩存,加速運行時對字節(jié)碼的解釋執(zhí)行;AOT(Ahead-of-Time)Compiler利用靜態(tài)類型信息直接將字節(jié)碼編譯生成優(yōu)化機器碼,讓應(yīng)用啟動即可運行高性能代碼,提升應(yīng)用啟動和運行性能。

    arkcompiler-1.gif
  1. LiteActor輕量化并發(fā)

    ArkCompiler運行時在HarmonyOS上提供了Worker API支持并發(fā)編程。在運行時實例內(nèi)存隔離的基礎(chǔ)上,ArkCompiler通過共享運行實例中的不可變或者不易變的對象、內(nèi)建代碼塊、方法字節(jié)碼等技術(shù)手段,優(yōu)化了并發(fā)運行實例的啟動性能和內(nèi)存開銷。

    arkcompiler-2.gif
  1. 源碼安全

    ArkCompiler會把ArkTS/TS/JS編譯為方舟字節(jié)碼,運行時直接運行方舟字節(jié)碼。并且ArkCompiler使用多種混淆技術(shù)提供更高強度的混淆與保護,使得HarmonyOS應(yīng)用包中裝載的是多重混淆后的字節(jié)碼,有效提高了應(yīng)用代碼安全的強度。

    arkcompiler3.gif

開源開放的生態(tài)環(huán)境

  • HarmonyOS是華為通過OpenHarmony項目,結(jié)合商業(yè)發(fā)行版增加能力,構(gòu)建華為自研產(chǎn)品的完整解決方案。
  • OpenHarmony是由開放原子開源基金會(OpenAtom Foundation)孵化及運營的開源項目,目標是面向全場景、全鏈路、全智能時代,基于開源的方式,搭建一個智能終端設(shè)備操作系統(tǒng)的框架平臺,促進萬物互聯(lián)產(chǎn)業(yè)的繁榮發(fā)展。

OpenHarmony生態(tài)組成

OpenHarmony的生態(tài)由華為與生態(tài)合作伙伴共同構(gòu)建,旨在構(gòu)建一個健康的,可以自我正想迭代的生態(tài)系統(tǒng),以持續(xù)吸引開發(fā)者和合作伙伴的加入,從而進而帶動更多的用戶選擇。

  • HMS

    HMS類似于Google的GMS,是一個集華為全家桶的一個App,包含著許多功能接口的API的服務(wù)能力,是華為自由的不開源的。

  • 華為商用的HarmonyOS

    相當于基于Android的AOSP所構(gòu)建的EMUI、MIUI等高度自定義UI的Android系統(tǒng)。HarmonyOS是基于OpenHarmony構(gòu)建的商業(yè)版的操作系統(tǒng)。

  • HarmonyOS Connect

    華為向合作廠商提供的一種解決方案。

    HarmonyOS Connect 服務(wù)包為合作伙伴提供設(shè)備開發(fā)、原子化服務(wù)開發(fā)、設(shè)備全生命周期運營運維等一站式智能化解決方案,由基礎(chǔ)服務(wù)、增強服務(wù)、HarmonyOS Connect 云等組成。基礎(chǔ)服務(wù)為設(shè)備賦予超級終端體驗,增強服務(wù)提供設(shè)備運維分析、運營變現(xiàn)能力以及專屬場景服務(wù),HarmonyOS Connect 云連接設(shè)備與用戶,共同助力開發(fā)者快速實現(xiàn)產(chǎn)品智能化升級,打造互聯(lián)互通的 HarmonyOS Connect 生態(tài)。

    根據(jù)伙伴選擇的不同的解決方案與產(chǎn)品體驗特性,我們提供基于 OpenHarmony 系統(tǒng)的閉源服務(wù)包,您可以在“管理中心”中,完成產(chǎn)品定義后,即可獲取對應(yīng)的服務(wù)包。

  • OpenHarmony

    相當于Android中的AOSP,是一個開源的項目,具有最基礎(chǔ)的操作系統(tǒng)的能力。

HarmonyOS Connect介紹

  • HarmonyOS Connect(中文:鴻蒙智聯(lián))是華為統(tǒng)一的硬件生態(tài)品牌。
  • HarmonyOS Connect生態(tài)伙伴可以基于華為提供的芯片設(shè)計、操作系統(tǒng)、連接、云、AI和用戶體驗設(shè)計能力,為消費者提供高品質(zhì)的智能硬件生態(tài)設(shè)備,使該設(shè)備能夠與華為HarmonyOS設(shè)備(包括手機、全屋主機、智能座艙、智慧屏、手表等終端)以及其他的HarmonyOS Connect生態(tài)設(shè)備進行連接和協(xié)同,共同打造互聯(lián)互通的HarmonyOS Connect生態(tài)。

HarmonyOS Connect協(xié)助三種商業(yè)形態(tài)發(fā)展

1個平臺、3種商業(yè)模式:

  1. 鴻蒙智聯(lián)產(chǎn)品

    伙伴自由渠道為主

  2. 華為智選

    華為全渠道銷售為主

  3. 全屋子系統(tǒng)

    全屋渠道銷售為主

HarmonyOS Connect生態(tài)智能家居產(chǎn)品合作伙伴案例

美的智能化家電、九陽不用手洗豆?jié){機、蘇泊爾小C主廚料理機、方太智能電蒸箱、探夢者滑板車、新日電動車、奧佳華按摩椅等等。

四、HarmonyOS設(shè)計理念

HarmonyOS設(shè)計理念概述

  • HarmonyOS從用戶和開發(fā)者視角出發(fā),開發(fā)出一款面向萬物互聯(lián)時代的操作系統(tǒng)。

  • HarmonyOS的設(shè)計理念有兩條:

    1. 消費者體驗最佳原則

      在終端硬件形態(tài)多樣化的趨勢下,保證用戶分布式多設(shè)備協(xié)同的體驗一致性,實現(xiàn)多端生態(tài)一體化。

    2. 開發(fā)者最小代價原則

      像開發(fā)單設(shè)備一樣開發(fā)分布式應(yīng)用,一次開發(fā)多端部署。

HarmonyOS試圖解決的問題

HarmonyOS作為面向智能終端的新一代OS,智能終端在萬物互聯(lián)的時代面臨的問題就是HarmonyOS需要解決的問題目標范圍。

  • 軟件能力割裂
  • 應(yīng)用生態(tài)割裂
  • 用戶數(shù)據(jù)割裂
  • 多設(shè)備交互割裂

HarmonyOS設(shè)計目標

  1. 業(yè)務(wù)設(shè)計目標
    • HarmonyOS的定位是面向萬物互聯(lián)下的操作系統(tǒng),支撐萬物互聯(lián)下的多種設(shè)備和業(yè)務(wù)訴求,并隨同相關(guān)技術(shù)而不斷演進。
  2. 架構(gòu)設(shè)計目標
    • 彈性
    • 可演進性
    • 生態(tài)友好性
    • 可重構(gòu)性
    • 可用性
    • 流暢性
    • 安全性
  3. 架構(gòu)設(shè)計原則
    • 分層抽象構(gòu)建原則
    • 積木化搭建原則
    • 用戶體驗優(yōu)化原則
    • 隱私保護與安全原則
    • 生態(tài)開放原則
    • 分布式架構(gòu)原則
    • 接口隔離及兼容性原則
    • 高性能低功耗原則
    • 開源引用原則

鴻蒙生態(tài)應(yīng)用核心技術(shù)理念

在萬物智聯(lián)時代重要機遇期,鴻蒙系統(tǒng)結(jié)合移動生態(tài)發(fā)展的趨勢,提出了三大技術(shù)理念。

超級終端

超級終端是按用戶在不同場景下使用各種智能終端,通過HarmonyOS的自動協(xié)同組成的一個邏輯終端。超級終端包含了各種類型的只能終端,是HarmonyOS管理的終端類型,對用戶而言,就像一個終端。

五、HarmonyOS技術(shù)架構(gòu)

HarmonyOS整體遵從分層設(shè)計,從下向上依次為:內(nèi)核層、系統(tǒng)服務(wù)層、框架層和應(yīng)用層。系統(tǒng)功能按照“系統(tǒng) > 子系統(tǒng) > 功能/模塊”逐級展開,在多設(shè)備部署場景下,支持根據(jù)實際需求裁剪某些非必要的子系統(tǒng)或功能/模塊。HarmonyOS技術(shù)架構(gòu)如下所示。

內(nèi)核層

  • 內(nèi)核子系統(tǒng):HarmonyOS采用多內(nèi)核設(shè)計,支持針對不同資源受限設(shè)備選用適合的OS內(nèi)核。內(nèi)核抽象層(KAL,Kernel Abstract Layer)通過屏蔽多內(nèi)核差異,對上層提供基礎(chǔ)的內(nèi)核能力,包括進程/線程管理、內(nèi)存管理、文件系統(tǒng)、網(wǎng)絡(luò)管理和外設(shè)管理等。

  • 驅(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)組成。其中,方舟運行時提供了C/C++/JS多語言運行時和基礎(chǔ)的系統(tǒng)類庫,也為使用方舟編譯器靜態(tài)化的Java程序(即應(yīng)用程序或框架層中使用Java語言開發(fā)的部分)提供運行時。

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

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

  • 硬件服務(wù)子系統(tǒng)集:為HarmonyOS提供硬件服務(wù),由位置服務(wù)、生物特征識別、穿戴專有硬件服務(wù)、IoT專有硬件服務(wù)等子系統(tǒng)組成。

根據(jù)不同設(shè)備形態(tài)的部署環(huán)境,基礎(chǔ)軟件服務(wù)子系統(tǒng)集、增強軟件服務(wù)子系統(tǒng)集、硬件服務(wù)子系統(tǒng)集內(nèi)部可以按子系統(tǒng)粒度裁剪,每個子系統(tǒng)內(nèi)部又可以按功能粒度裁剪。

框架層

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

應(yīng)用層

  • 應(yīng)用層包括系統(tǒng)應(yīng)用和第三方非系統(tǒng)應(yīng)用。
  • Ability是應(yīng)用所具備能力的抽象,也是應(yīng)用程序的重要組成部分。Ability是系統(tǒng)調(diào)度應(yīng)用的最小單元,是能夠完成一個獨立功能的組件。一個應(yīng)用可以包含一個或多個Ability。
  • Stage模型將Ability分為PageAbility和ExtensionAbility兩大類,其中ExtensionAbility又被拓展為ServiceExtensionAbility、FormExtensionAbility、DataShareExtensionAbility等一系列的ExtensionAbility,以滿足更多的使用場景。

系統(tǒng)類型

根據(jù)設(shè)備的內(nèi)存差異,鴻蒙操作系統(tǒng)適配的系統(tǒng)類型分為三類:

  1. 輕量系統(tǒng)(mini system)
    • 支持的設(shè)備最小內(nèi)存為128KiB
    • 面向MCU(單片機)類處理器,例如Arm Cortex-M、RISC-V 32位的設(shè)備,硬件資源極其有限。
    • 可以提供多種輕量級網(wǎng)絡(luò)協(xié)議,輕量級圖形框架,以及豐付的IOT總線讀寫部件等。可支撐的產(chǎn)品如智能家居領(lǐng)域的連接類模組、傳感器設(shè)備、穿戴類設(shè)備等。
  2. 小型系統(tǒng)(small system)
    • 支持設(shè)備最小內(nèi)存為1MiB
    • 面向應(yīng)用處理器,例如:Arm Cortex-A的設(shè)備
    • 可以提供更高的安全能力,標準的圖形框架、視頻編解碼的多媒體能力。可支撐的產(chǎn)品如智能家居領(lǐng)域的IP Camera、電子貓眼、路由器以及智慧出行領(lǐng)域的行車記錄儀等。
  3. 標準系統(tǒng)(standard system)
    • 支持的設(shè)備最小內(nèi)存為128MiB
    • 面向應(yīng)用處理例如Arm Cortex-A的設(shè)備
    • 可以提供增強的交互能力、3D GPU以及硬件合成能力、更多控件以及動效豐付的圖形能力、完整的應(yīng)用框架。可支持的產(chǎn)品如高端的冰箱顯示屏。

開發(fā)語言介紹

  • 純應(yīng)用軟件開發(fā),基于官方提供的系統(tǒng)SDK進行應(yīng)用開發(fā)。
  • 軟硬件結(jié)合的嵌入式開發(fā),注重硬件操作、驅(qū)動開發(fā)、操作系統(tǒng)裁剪定制等。
  1. 應(yīng)用開發(fā)

    HarmonyOS支持如下語言

    1. ArkTS
    2. HML + JavaScript + CSS (僅FA模型可用)
    3. Java(僅API7及一下版本可用)
    4. C/C++

    OpenHarmony支持如下語言

    1. ArkTS
    2. HML + JavaScript + CSS (僅FA模型可用)
    3. C/C++
  2. 設(shè)備開發(fā)

    OpenHarmony設(shè)備開發(fā)僅支持C/C++編程語言。

六、部件化開發(fā)架構(gòu)設(shè)計

HarmonyOS在模塊化、組件化的基礎(chǔ)上,引入了部件化架構(gòu)的軟件工程方法,綜合運用模塊化、部件化、組件化等手段,有效支撐了統(tǒng)一的操作在不同規(guī)格、不同形態(tài)、不同類型的設(shè)備上的彈性部署。

架構(gòu)分層與組件化

能力集合

  • HarmonyOS針對不同的系統(tǒng)規(guī)格,分別定義了基礎(chǔ)部件能力集合(BCG)和可選部件能力集合(OCG),方便設(shè)備卡發(fā)著按需配置,已支撐其特色功能的擴展或定制開發(fā)。同時,HarmonyOS也支撐設(shè)廠商擴展私有的系統(tǒng)能力(PCG),打造設(shè)備差異化競爭力。
  • 針對相同系統(tǒng)規(guī)格設(shè)備,具有相同的BCG系統(tǒng)能力,允許設(shè)備廠商按需選擇好OCG系統(tǒng)能力、擴展PCG系統(tǒng)能力。

部件管理

  • 為了支持基于部件的HarmonyOS積木花拼裝,部件的基本特征包括:

    • 部件之間的相對獨立

    • 和所依賴的部件一起拼裝部署

    • 可對外提供一定的系統(tǒng)軟硬件能力

  • HPM(HarmonyOS Package Manager)是HarmonyOS部件包的管理和分發(fā)工具,面向設(shè)備開發(fā)時,用于獲取、定制HarmonyOS部件源碼,執(zhí)行安裝、編譯、打包等操作,最終構(gòu)建特定產(chǎn)品的OS軟件包,面向多設(shè)備部署時,如果部件之間存在依賴,則要求和被依賴的部件一起部署。

七、三大技術(shù)特性

  1. 消費體驗

    硬件互助,資源共享

    HarmonyOS可以實現(xiàn)不同終端設(shè)備之間的快速連接、能力互助、資源共享,匹配合適的設(shè)備、提供流暢的全場景體驗。

  2. 應(yīng)用開發(fā)者體驗

    一次開發(fā),多端部署

    HarmonyOS采用了多種分布式技術(shù),使得應(yīng)用程序的開發(fā)實現(xiàn)與不同終端設(shè)備的形態(tài)差異無關(guān),降低了開發(fā)難度和成本。

  3. 設(shè)備開發(fā)者體驗

    統(tǒng)一OS,彈性部署

    HarmonyOS采用了組件化的設(shè)計方案,可以根據(jù)設(shè)備的資源能力和業(yè)務(wù)特征進行靈活裁剪,滿足不同形態(tài)的終端設(shè)備對于操作系統(tǒng)的要求。

統(tǒng)一OS彈性部署

HarmonyOS通過組件化和小型化等設(shè)計方法,支持多種終端設(shè)備按需彈性部署,能夠適配不同類別的硬件資源和功能需求。支撐通過編譯鏈關(guān)系去自動生成組件化的依賴關(guān)系,形成組件樹依賴圖,支撐產(chǎn)品系統(tǒng)的便捷開發(fā),降低硬件設(shè)備的開發(fā)門檻。

支持個組件的選擇(組件可有可無):根據(jù)硬件的形態(tài)和需求,可以選擇所需的組件。

支持組件內(nèi)功能集的配置(組件可大可小):像開發(fā)單設(shè)備根據(jù)硬件的資源情況和功能需求,可以選擇配置組件中的功能集。例如,選擇配置圖形礦建組件中的部分控件。一樣開發(fā)分布式應(yīng)用,一次開發(fā)多端部署。

支持組件間依賴的關(guān)聯(lián)(平臺可大可小):根據(jù)編譯鏈關(guān)系,可以自動生成組件化的以來關(guān)系。例如,選擇圖形框架組件,將會自動選擇依賴的圖形引擎組件等。

一次開發(fā)多端部署

  • HarmonyOS提供了用戶程序框架、Ability框架以及UI框架,支持應(yīng)用開發(fā)過程中多端的業(yè)務(wù)邏輯和界面邏輯進行復(fù)用,能夠?qū)崿F(xiàn)應(yīng)用的一次開發(fā),多端部署,提升了跨設(shè)備易用的開發(fā)效率。
  • 采用業(yè)界主流的設(shè)計方式,提供多種響應(yīng)式布局方案,支持柵格化布局,滿足不同屏幕的界面適配能力。

硬件互助,資源共享

多種設(shè)備之間能夠?qū)崿F(xiàn)硬件互助、資源共享,依賴的關(guān)鍵技術(shù)包括分布式軟總線、分布式設(shè)備虛擬化、分布式數(shù)據(jù)管理、分布式任務(wù)調(diào)度等。

分布式軟總線

分布式軟總線是手機、平板、智能穿戴設(shè)備等分布式設(shè)備的通信基座,為設(shè)備之間的互聯(lián)互動提供了統(tǒng)一的分布式通信能力,為設(shè)備間的無感發(fā)現(xiàn)和零等待傳輸創(chuàng)造了條件。開發(fā)者只需聚焦于業(yè)務(wù)邏輯的實現(xiàn),無需關(guān)注組網(wǎng)方式與底層協(xié)議。

分布式軟總線是如何自發(fā)現(xiàn)并連接的呢?

分布式軟總線提出自動發(fā)現(xiàn)設(shè)備,實現(xiàn)用戶零等待的自發(fā)現(xiàn)體驗,附近同賬號的設(shè)備自動發(fā)現(xiàn)無需等待,自動安全連接。分布式軟總線提出了異構(gòu)網(wǎng)絡(luò)組網(wǎng),自動構(gòu)建一個邏輯全連接網(wǎng)絡(luò),以解決設(shè)備間不同協(xié)議交互的問題。

分布式設(shè)備虛擬化

  • 分布式設(shè)備虛擬化平臺可以實現(xiàn)不同設(shè)備的資源融合、設(shè)備管理、數(shù)據(jù)處理,多種設(shè)備共同形成一個超級虛擬終端。
  • 針對不同類型的任務(wù),為用戶匹配并選擇能力合適的執(zhí)行硬件,讓業(yè)務(wù)連續(xù)的在不同設(shè)備間流轉(zhuǎn),充分發(fā)揮不同設(shè)備的能力優(yōu)勢,如顯示能力、攝像能力、音頻能力、交互能力以及傳感器能力等。

分布式數(shù)據(jù)管理

用戶數(shù)據(jù)不再與單一物理設(shè)備綁定,業(yè)務(wù)邏輯與數(shù)據(jù)存儲分離,跨設(shè)備的數(shù)據(jù)處理如同本地數(shù)據(jù)一樣方便快捷,讓開發(fā)者能夠輕松實現(xiàn)全場景、多設(shè)備下的數(shù)據(jù)存儲、共享和訪問,為打造一致、流暢的用戶體驗創(chuàng)造了基礎(chǔ)條件。

分布式任務(wù)調(diào)度

分布式任務(wù)調(diào)度基于分布式軟總線、分布式數(shù)據(jù)管理、分布式Profile等技術(shù)特性,構(gòu)建統(tǒng)一的分布式服務(wù)管理(發(fā)現(xiàn)、同步、注冊、調(diào)用)機制,支持對跨設(shè)備的應(yīng)用進行遠程啟動、遠程調(diào)用、遠程連接以及遷移等操作,更夠根據(jù)不同設(shè)備的能力、位置、業(yè)務(wù)運行狀態(tài)、資源使用情況,以及用戶的習(xí)慣和意圖,選擇合適的設(shè)備運行分布式任務(wù)。

八、系統(tǒng)安全

設(shè)備互信認證服務(wù)

  • 設(shè)備互信認證服務(wù)

    保證設(shè)備之間相互正確可信,并能夠在驗證信任關(guān)系后搭建安全的連接通道,實現(xiàn)用戶數(shù)據(jù)的安全傳輸。

  • 用戶身份認證

    除傳統(tǒng)身份認證方式外,還提供生物認證方式和分布式協(xié)同認證能力。

  • 應(yīng)用程序隔離和權(quán)限管理

    系統(tǒng)化地規(guī)范應(yīng)用程序的行為準則與權(quán)限許可并強制執(zhí)行。

  • 數(shù)據(jù)分級訪問控制架構(gòu)

    數(shù)據(jù)都能獲得與其個人數(shù)據(jù)敏感程度、系統(tǒng)數(shù)據(jù)重要程度和應(yīng)用程序數(shù)據(jù)資產(chǎn)價值匹配的保護措施。

  • 數(shù)據(jù)防泄漏保護

    數(shù)據(jù)生命周期范圍內(nèi),數(shù)據(jù)的存儲、訪問和傳輸過程中數(shù)據(jù)泄露風(fēng)險比較大。

九、元服務(wù)(原子化服務(wù))

元服務(wù)定義

元服務(wù)是HarmonyOS提供的一種全新的應(yīng)用形態(tài),具有獨立入口,用戶可通過點擊、碰一碰、掃一掃等方式直接觸發(fā),無需顯示安裝,由程序框架后臺靜默安裝后即可使用,可為用戶提供便捷服務(wù)。

元服務(wù)特性

元服務(wù)基于鴻蒙系統(tǒng)API開發(fā),支持運行在1+8+N設(shè)備上,供用戶在合適的場景、合適的設(shè)備上便捷使用。元服務(wù)是支撐可分可合,自由流轉(zhuǎn)的輕量化程序?qū)嶓w,幫助開發(fā)者的服務(wù)更快觸達用戶。具備以下特點:

服務(wù)中心

服務(wù)中心為用戶提供統(tǒng)一的元服務(wù)查看、搜索、收藏和管理功能。

元服務(wù)的服務(wù)流轉(zhuǎn)

  • 用戶手動流轉(zhuǎn)

    用戶可以通過手動選擇合適的設(shè)備進行流轉(zhuǎn)。用戶點擊圖標后,會調(diào)起系統(tǒng)提供的流轉(zhuǎn)面板。面板中心會展示出用戶應(yīng)用程序的信息及可流轉(zhuǎn)的設(shè)備,引導(dǎo)用戶進行后續(xù)的流轉(zhuǎn)操作。

  • 系統(tǒng)推薦流轉(zhuǎn)

    系統(tǒng)會通過分布式軟總線自發(fā)的驗證設(shè)備安全性,然后組網(wǎng),組網(wǎng)之后就會去判斷當前用戶所處的環(huán)境中沒有用戶體驗更佳的可選設(shè)備,如果存在這樣的設(shè)備那么系統(tǒng)就會推薦用戶進行流轉(zhuǎn)。

元服務(wù)開發(fā)總體要求

  • 免安裝HAP包不能超過10MB

    以提供快速響應(yīng)的體驗。超過此大小的HAP包不符合免安裝要求,也無法再服務(wù)中心露出。

  • Project Type字段選擇“Atomic Service”

    HarmonyOS 2.0以上版本,通過DevEco Studio工程向?qū)?chuàng)建元服務(wù)。

  • 保持免安裝屬性

    對于元服務(wù)升級場景:版本更新時要保持免安裝屬性。如果新版本不支持免安裝,將不允許新版本上架。

  • HAP包必須包含F(xiàn)A

    如果某便捷服務(wù)的入口需要在服務(wù)中心露出,則該服務(wù)對應(yīng)的HAP包必須包含F(xiàn)A,且FA中必須制定一個唯一的mainAbility(定位用戶操作入口),mainAbility必須為PageAbility。

服務(wù)卡片定義

  • 服務(wù)卡片(以下簡稱卡片)是FA的一種界面展示形式,將FA的重要信息或操作前置到卡片,以達到服務(wù)直達,減少體驗層級的目的。
  • 卡片常用于嵌入到其他應(yīng)用(當前只支持系統(tǒng)應(yīng)用)中作為其界面的一部分顯示,并支持拉起頁面,發(fā)送消息等基礎(chǔ)的交互能力。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,197評論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,415評論 3 415
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,104評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,884評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,647評論 6 408
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,130評論 1 323
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,208評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,366評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,887評論 1 334
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 40,737評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,939評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,478評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,174評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,586評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,827評論 1 283
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,608評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,914評論 2 372

推薦閱讀更多精彩內(nèi)容