鴻蒙生態

千千寰宇發表於2024-06-22

1 概述

  • 官網
  • https://www.harmonyos.com
  • HDC 華為開發者大會
  • https://developer.huawei.com/home/hdc/hdc2024.html
  • 鴻蒙開發者學堂
  • https://developer.huawei.com/consumer/cn/teaching-video
  • 鴻蒙生態應用開發白皮書
  • 鴻蒙生態應用開發白皮書 V2.0
  • 從HarmonyOS到HarmonyOS NEXT的版本對比
  • https://developer.huawei.com/consumer/cn/doc/harmonyos-releases-V5/releasenotes-baseline-V5

2 核心技術理念

在萬物智聯時代重要機遇期,鴻蒙系統結合移動生態發展的趨勢,提出了三大技術理念: 一次開發,多端部署;可分可合,自由流轉;統一生態,原生智慧

核心技術理念

一次開發,多端部署

  • “一次開發,多端部署”:指的是一個工程,一次開發上架,多端按需部署。目的是為了 支撐開發者高效地開發多種終端裝置上的應用。為了實現這一目的,鴻蒙系統提供了幾個核 心能力,包括多端開發環境,多端開發能力以及多端分發機制。

多端開發環境

HUAWEI DevEco Studio 是面向全場景多裝置提供的一站式開發平臺,支援多端雙向 預覽、分散式調優、分散式除錯、超級終端模擬、低程式碼視覺化開發等能力,幫助開發者降 低成本、提升效率、提高質量。HUAWEI DevEco Studio 提供的核心能力如下圖所示。

HUAWEI DevEco Studio 核心功能和特徵

  • 多端雙向預覽
  • 分散式除錯

分散式除錯互動圖

  • 分散式調優

多裝置聯合分析

  • 超級終端模擬
    移動應用開發時需要使用本地模擬器來進行應用除錯,實現快速開發的目的。鴻蒙生態 應用需要執行在多種不同型別的裝置上,為此 HUAWEI DevEco Studio 提供了不同型別的 終端模擬,支援開發者在多個模擬終端上進行開發除錯,降低門檻、節約成本。同時,多個 模擬終端、真機裝置也可以自由地組成超級終端,進一步降低開發者獲取分散式調測環境的 難度。

  • 低程式碼視覺化開發
    低程式碼開發提供 UI 視覺化開發能力,支援自由拖拽元件和視覺化資料繫結,可快速預 覽效果,所見即所得。透過拖拽式編排、視覺化配置的方式,幫助開發者減少重複性的程式碼編寫,快速地構建多端應用程式。低程式碼開發的產物如元件、模板等可以被其他模組的程式碼 引用,並且能透過跨工程複用,支援開發團隊協同完成複雜應用的開發。

多端開發能力

應用如需在多個裝置上執行,需要適配不同的螢幕尺寸和解析度、不同的互動方式(如 觸控和鍵盤等)、不同的硬體能力(如記憶體差異和器件差異等),開發成本較高。因此,多 端開發能力的核心目標是降低多裝置應用的開發成本。為了實現該目標,鴻蒙系統提供了以 下幾個核心能力,支援多端 UI 適配,互動事件歸一,裝置能力抽象,幫助開發者降低開發 與維護成本,提高程式碼複用度。

多端 UI 適配

不同裝置螢幕尺寸、解析度等存在差異,鴻蒙系統將對螢幕進行邏輯抽象,包括尺寸和 物理畫素,並提供豐富的自適應/響應式的佈局和視覺能力,方便開發者進行不同螢幕的界 面適配。

  • 螢幕邏輯抽象:鴻蒙系統提供虛擬畫素 vp(virtual pixel)對解析度進行抽象,不同設 備的系統在底層將物理畫素轉化成虛擬畫素,為應用開發者提供統一單位。不同裝置的尺寸 存在差異,鴻蒙系統根據裝置的螢幕水平寬度,抽象和定義了四種尺寸:超小(xs)、小 (sm)、中(md)、大(lg)。這四種抽象後的螢幕尺寸與日常使用的裝置螢幕型別有一 定的對應關係,例如:超小對應智慧穿戴裝置,小對應手機和摺疊屏摺疊態,中對應摺疊屏 展開態和平板,大對應智慧屏。開發者可面向應用執行的目標裝置進行螢幕型別的適配。

尺寸抽象化

  • 佈局:鴻蒙系統提供的佈局主要分為自適應佈局和響應式佈局。自適應佈局是當外部容 器大小發生變化時,容器內元素可以根據相對關係自動變化以適應外部容器變化的佈局能力。 相對關係包含佔比、固定寬高比、顯示優先順序等。當前自適應佈局能力主要有 7 種:拉伸能 力、均分能力、佔比能力、縮放能力、延伸能力、隱藏能力、折行能力。響應式佈局是當顯 示空間大小發生變化時,佈局可以根據預設斷點、柵格或特定的特徵(如螢幕方向、視窗寬 高等)進行自動切換。當前響應式佈局能力主要有 3 種:斷點、媒體查詢、柵格佈局。鴻蒙 系統將響應式佈局能力下沉到預設元件的基礎屬性中,比如網格、列表和輪播元件等,支援 自動增加顯示列數,以便充分利用螢幕寬度,節省應用開發工作量。

  • 視覺:鴻蒙系統提供的視覺樣式能力,包括分層引數、多型元件和主題。

互動事件歸一

元件歸一響應:當應用部署在不同裝置上供使用者使用時,需要支援多種 I/O 裝置,介面 呈現出相應的狀態為使用者提供正確的視覺引導。例如觸控時顯示按壓狀態,滑鼠特有的懸停 狀態,鍵盤走焦狀態。鴻蒙系統預設提供多種互動方式的元件實現,方便開發者支援多種輸 入方式。

裝置能力抽象

不同裝置間的軟、硬體能力等存在差異,如裝置是否具備定位能力、是否具備攝像頭、 是否具備藍芽功能等,鴻蒙系統需要對裝置能力進行邏輯抽象,並提供介面來查詢裝置是否 支援某一能力,方便開發者進行不同軟、硬體能力的功能適配。在鴻蒙系統中,使用 SystemCapability(簡寫為 SysCap)定義每個部件對應用開發者提供的系統軟硬體能力。 應用開發者基於統一的方式訪問不同裝置的能力

API、SystemCapability、部件和裝置的關係

多端分發機制

如果需要開發多裝置上執行的應用,一般會針對不同型別的裝置多次開發並獨立上架。 開發和維護的成本大,為了解決這個問題,鴻蒙系統提供了“一次開發,多端部署”的能力, 開發者開發多裝置應用,只需要一套工程,一次打包出多個 HAP,統一上架,即可根據設 備型別按需進行分發。

除了可以開發傳統的應用,開發者還可以開發元服務。元服務是一種面向未來的服務提 供方式,具有獨立入口的、免安裝的、可為使用者提供一個或多個便捷服務的應用程式形態。 鴻蒙系統為元服務提供了更多的分發入口,方便使用者獲取,同時也增加了元服務露出的機會。

多裝置按需分發

鴻蒙系統提供了兩種模式幫助開發者基於“一次開發,多端部署”能力分發應用和元服 務到不同裝置上。

多裝置按需分發的兩種模式

多入口按需分發

鴻蒙系統為元服務提供了更多的分發入口,基於場景和使用者意圖拉起元服務,實現“服 務直達”。鴻蒙生態提供的豐富入口如下圖所示

多入口按需分發

相關文章