close

作者 | 羅燕珊
本文是「2021 InfoQ 年度技術盤點與展望」特別策劃文章,由 InfoQ 編輯部製作呈現,聚焦 HarmonyOS(鴻蒙操作系統)在 2021 年的重要動態和進展。

「鴻蒙,成了!!」2021 年 10 月 23 日,華為常務董事、消費者業務 CEO、智能汽車解決方案 BU CEO 余承東在其個人微博上宣布道。2021 年是 HarmonyOS 自 2019 年發布以來的第三年,這一年 HarmonyOS 的輿論熱度已經不比前兩年,但這不是壞消息。相比起身處國與國之間技術博弈的漩渦,「韜光養晦」的時刻對 HarmonyOS 來說更具意義。

本文將帶您一起回顧 2021 年 HarmonyOS 的重要動態和技術進展,並展望其 2022 年的發展。感謝多位專業人士在本文寫作過程中提供了非常有價值的觀點,特别致謝(排名不分先後):優酷高級無線開發專家劉洋、Cocos 引擎技術總監凌華彬、新浪微博客戶端技術負責人高一航。

動態回顧

余承東口中的「鴻蒙成了」,實際上是指「鴻蒙生態已初具規模」。官方公布的最新數據顯示,華為已經有 2.2 億 + 設備搭載 HarmonyOS,來自生態合作夥伴的設備有 1 億 + 搭載 HarmonyOS。2020 年 12 月,華為發布 HarmonyOS 2.0 手機開發者 Beta 版本,接着在半年後的 2021 年 6 月,隨着 HarmonyOS 2.0 的順利發布,到 12 月份,所有規劃中機型的鴻蒙正式版的適配推送已基本完成,其中包括不少華為、榮耀的舊款手機和平板產品。

原子化服務能力是鴻蒙系統的特色,其免安裝、即用即走的特性對用戶更加友好,對 App 開發者來說可以提高用戶活躍度。因此這一年 HarmonyOS 系統的原子化服務可以說是「野蠻生長」,點開服務中心可以看到「五花八門」的原子化卡片,覆蓋各行各業,比如中國國際航空推出了「中國國航」,點擊卡片即可一鍵進行預訂機票、查看行程、辦理值機等操作;廣發證券推出「行情服務」、「開戶服務」、「秒答服務」等等...... 生態中「吃螃蟹」的不僅只有互聯網公司。

與此同時,HarmonyOS 社區也變得越來越熱鬧。市面上有越來越多的 HarmonyOS 開發類書籍,以及相關的開發者網站和公眾號,開源網站上也出現不少開發者上手 HarmonyOS 的開源項目。HarmonyOS 官網近日還推出了 HarmonyOS 開發者資源中心——DevEco Marketplace,匯總了 HarmonyOS 開發相關的原生庫、三方庫、示例代碼等各類資源。

簡要回顧 2021 年,HarmonyOS 主要有以下幾個重要動態:

2021 年 5 月 18 日,華為宣布將「Work With HUAWEI HiLink」品牌和「Powered by HarmonyOS」品牌融合升級為「HarmonyOS Connect」品牌,即鴻蒙智聯,原 HiLink 開發者平台與 HarmonyOS 認證平台統一升級至鴻蒙智聯生態服務平台。同年 8 月 18 日,鴻蒙智聯設備認證正式上線。

2021 年 6 月 2 日,華為正式發布 HarmonyOS 2.0 以及搭載 HarmonyOS 2 的多款新產品。

2021 年 10 月 22 日,華為發布 HarmonyOS 3 開發者預覽版。預計 2022 年一季度,華為將發布 HarmonyOS 3 開發者 Beta 版。

2021 年 12 月 23 日,華為發布鴻蒙汽車 AITO 問界 M5,搭載 HarmonyOS 座艙。

技術演進和發展方向

10 月發布的 Harmony OS 3.0.0 開發者預覽版,相比起 2020 年發布的 Harmony OS 2.0 版本,在性能以及開發者體驗上都有了大幅提升。

Harmony OS 3.0.0 開發者預覽版圍繞「彈性部署、超級終端、一次開發多端部署」繼續演進。隨着該版本的發布,HarmonyOS 應用與服務開發工具套件全家桶也全面升級,包含了新一代的聲明式 UI 框架 ArkUI 3.0、多語言跨平台編譯器 ArkCompiler 3.0、跨端開發工具 DevEco Studio3.0,以及基於 TS/JS 語言的 API 7。

方舟開發框架 3.0

「一次開發多端部署」是 Harmony OS 的主打亮點,可實現通過一套工程代碼、一次開發上架,即可按需部署到不同設備。為了實現這一目標,華為主要從 Harmony 系統能力、ArkUI 3.0 框架能力和開發工具能力三個方面着手。

ArkUI 3.0(方舟開發框架 3.0)新引入了基於 TypeScript(簡稱 TS)擴展的聲明式開發範式。「基於 TS 擴展的聲明式開發範式」是方舟開發框架提供的兩種開發範式之一,採用更接近自然語義的編程方式,讓開發者可以直觀地描述 UI 界面,不必關心框架如何實現 UI 繪製和渲染,實現簡單和高效的開發。

目前,HarmonyOS 提供兩種 UI 框架、三種開發範式。

新的 ArkUI 3.0 框架,除了引入新一代聲明式 UI 開發範式,還設計了統一的前後端扁平化渲染機制,進一步提升 UI 渲染的性能並降低內存消耗,並深度結合 ArkCompiler 3.0 的方舟編譯器和方舟運行時,提升語言的執行性能和跨語言通信能力。在工具方面,針對新一代的聲明式 UI 開發範式構建了新的編譯工具鏈和預覽引擎,提供所見即所得的實時預覽機制。

另外,在 ArkUI 3.0 框架中,類 Web 範式會繼續保留,即類 Web 範式和新一代的聲明式 UI 範式都可以支持,可以各自獨立使用,但不能混用。

UI 編程框架在應用開發中起了至關重要的作用。目前,擁有新開發範式的 ArkUI 3.0 走出了堅實的第一步,並已開始支撐更多的關鍵應用。接下來,除了基礎設施的持續完善,HarmonyOS 將會重點支持生態擴展,主要包括高級 UI 能力的提升,比如三方地圖、遊戲的融合以及 Web 能力增強等。

方舟編譯器 3.0

HarmonyOS 3.0.0 提供 ArkCompiler 3.0(方舟編譯器 3.0),用於應用的編譯構建。ArkCompiler 是為支持多種編程語言、多種芯片平台的聯合編譯、運行而設計的統一編程平台,其目標是提供一個語言可插拔、組件可配置的多語言編譯器運行時。

語言可插拔:設計架構上支持多種語言接入,ArkCompiler 有能力提供具有高效執行性能且具有跨語言優勢的多語言運行時,也可以在小設備上提供高效輕量的單一語言運行時。

組件可配置:ArkCompiler 具有豐富的編譯器運行時組件系統。通過定製化配置編譯運行時的語言和組件,以支持手機、PC、平板、電視、汽車和智能穿戴等多種設備上不同的性能和內存需求。

目前,ArkCompiler 3.0 主要支持的語言是 JavaScript、TypeScript 和 Java。未來,ArkCompiler 在持續優化基礎體驗的同時,更會進一步結合 HarmonyOS 萬物互聯的需求,在跨端遷移、多端協同等創新場景,從編譯器和運行時等方面提供底層的解決方案和優化機制,提升分布式應用的開發和運行體驗。

DevEco Studio 3.0

HUAWEI DevEco Studio 是開發 HarmonyOS 應用和原子化服務的一站式集成開發環境(IDE)。2021 年的最後一天,官方發布了 DevEco Studio 3.0 Beta2 版本。

在 HarmonyOS 3.0.0 開發者預覽版發布的時候,開發者 IDE 工具已經可以升級到 3.0 Beta1 版本。其關鍵特性包括:支持 ArkUI 3.0 框架、低代碼開發功能提升(新增支持 Tablet 設備開發、面向不同尺寸界面設計效果可自動適配的原子布局能力,以及多設備開發切換功能)、新增 Scoring Tool 評測工具(開發者可以通過 DevEco Studio 連接本地設備或遠程真機,自主遍歷 HarmonyOS 應用或原子化服務的功能,快速進行自測試)等。

3.0 Beta1 版本已經支持用方舟編譯器編譯由 eTS 語言開發的應用,本次升級新增相應的工程調試功能,進一步支撐使用方舟編譯器的 eTS 工程開發。

當前存在的問題

畢竟是操作系統界的後來者,發展初期 HarmonyOS 的開發體驗還不夠完善,比如存在由於開發環境迭代較快導致出現 bug 的問題,其他問題還有 IDE 體驗不夠好、部分文檔寫得不夠詳細、所提供的 demo 還不夠完善等等。

同時也有人疑惑,HarmonyOS 同時存在 JS 框架、Java 框架,究竟華為未來會主推哪一種開發框架,目前似乎還沒有明確的結論。

長遠地看,目前 HarmonyOS 可以兼容 Android 應用,那未來是否一直會支持下去?而開發者開發純鴻蒙 App 的必要性究竟有多大?對於很多 App 來說,開發純鴻蒙 App 並不現實,畢竟大量的移動中間件還未適配鴻蒙。

另外,由於眾所周知的問題,華為當前在推出新機上遇到非常大的困難,隨着未來舊機器逐漸退役,HarmonyOS 的保有量是否能維持在一個高位?未來又是否會有別的手機廠商採用 HarmonyOS?華為是 HarmonyOS 的開發者和維護者,也是手機市場的重要玩家,華為是否能保持平台的中立性,對可能的其他 HarmonyOS 採用者一視同仁?

以上這些問題是當前 HarmonyOS 在發展途中遇到的常見和比較棘手的問題。技術問題終究可以被解決,而關於長期發展的問題,或許還得靠開源(OpenHarmony)才能破解。

寫在最後

展望 2022 年,我們期待 HarmonyOS 生態得到進一步完善和豐富,有更多的非華為終端設備開始使用 HarmonyOS,以及跟 HarmonyOS 聯動,也期待能有更多的純鴻蒙 App 推向市場,這需要華為持續提供更多的服務和開放更多的能力。另外,方舟開發框架、方舟編譯器的發展也很值得關注。按照官方說法,TS/JS 語言將在 HarmonyOS 應用開發中越來越重要。

最後,筆者還想提下 2021 年 HarmonyOS 的一個動態,那就是和歐拉開源操作系統的「互通」。

在 2021 年 9 月舉辦的華為全連接大會上,華為宣布歐拉和鴻蒙已經實現了內核技術共享,未來計劃將鴻蒙的分布式軟總線能力移植到歐拉,讓搭載歐拉操作系統的設備可以自動識別和連接鴻蒙終端。後續進一步在安全 OS、設備驅動框架、以及新編程語言等方面實現共享。當時還提到,2022 年華為將發布名為「倉頡」的應用編程語言,鴻蒙和歐拉會基於同樣的編程語言開發,如此一來,就能更好地完成應用的遷移和實現生態互通的目標。

其實不管是 HarmonyOS、方舟編譯器或是未來的倉頡語言,均體現了華為在基礎軟件做全方位布局的決心,我們同樣可以期待 2022 年華為在根技術方面的更多突破。

參考資料來源:

HarmonyOS開發者微信公眾號

技術論壇華為鴻蒙應用開發官網(https://developer.harmonyos.com/)

今日好文推薦

西安一碼通半個月崩潰兩次,被工信部點名;快手再傳裁員:最高比例達 30%;阿里調整大淘寶組織架構 | Q 資訊

Apache Flink 不止於計算,數倉架構或興起新一輪變革

解讀開源的 2021:從「開發者亞文化」,變成主流軟件開發模式

阿里正式開源自研 XQUIC:已服務手淘上億用戶,網絡耗時降低超 20%

點個在看少個 bug👇

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 鑽石舞台 的頭像
    鑽石舞台

    鑽石舞台

    鑽石舞台 發表在 痞客邦 留言(0) 人氣()