
2021年10月22日在華為開發者大會HDC.Together 2021 主題演講上,我們釋出了HarmonyOS 3.0.0開發者預覽版,主要内容包括:Harmony設計系統、ArkUI 3.0、ArkCompiler 3.0、DevEco Studio 3.0和TS/JS API 。
其中,HarmonyOS的UI開發架構從以Java為主要程式設計語言的指令式UI架構演進為以TypeScript(簡稱TS)/JavaScript(簡稱JS)為主要程式設計語言的聲明式UI架構(ArkUI 3.0)。同時,ArkCompiler 3.0增加了對TS/JS語言的支援,HarmonyOS SDK新增了6000+的TS/JS API,支援TS語言開發富媒體應用。未來,TS/JS語言在HarmonyOS應用開發中會越來越重要。
下面,讓我們再來回顧一下HarmonyOS 3.0.0開發者預覽版的關鍵内容吧~
Harmony設計系統,綜合考慮人因、裝置和環境等因素,為跨端應用界面設計提供完備的設計規範、便捷的設計工具、以及豐富的設計資源,友善開發者創作出更優秀的設計。
ArkUI 3.0是一套建構HarmonyOS應用界面的聲明式UI開發架構。它通過極簡的UI資訊描述文法、豐富的UI元件和動效,以及實時界面預覽能力,幫助您提升HarmonyOS應用界面開發效率。
ArkUI 3.0的關鍵特性如下:
1. 從以Java為主要程式設計語言的指令式UI架構,演進為以TS/JS為主要程式設計語言的聲明式UI架構,生産效率提高30%。
圖1 UI架構演進
為何UI開發架構會發生這樣的演進?從開發模式方面來看,聲明式比指令式具備更直覺更簡潔的能力,能進一步提升開發效率;從語言方面來看,TS/JS具備了廣泛的生态以及更強的靈活性。
根據RedMonk 2021年Q1 程式設計語言排名,JS語言綜合排名第一,并且是目前全球開發者中使用最多的語言。JS語言擁有非常強大的生态社群,學習資源、三方庫和工具資源非常豐富。相比靜态類型開發語言(比如Java),JS因為動态類型和類腳本語言的特點,開發類似功能的應用時,JS代碼一般行數更少,開發效率更高。
TS是JS的一個超集,有效地提升了JS開發大型工程的便利性和可維護性。
2. 提供極簡UI開發文法群組件,提高跨裝置應用UI開發效率。
圖2 ArkUI的高效率
ArkUI 3.0擁有極簡的UI資訊描述文法、豐富的UI元件和高效跨端開發能力,對比傳統的應用界面開發,代碼量減少30%以上。
3. 通過針對聲明式的前後端一緻化的渲染優化設計,進一步提升應用性能體驗。
圖3 ArkUI的高性能
ArkUI 3.0通過扁平化統一渲染和并行流水線技術,保證應用性能體驗和安卓原生應用體驗不相上下,在典型的複雜場景下,記憶體還可降低20%。
ArkCompiler是華為自研的統一程式設計平台,包含編譯器、工具鍊、運作時等關鍵部件,支援進階語言在多種晶片平台的編譯與運作,并支撐應用和服務運作在手機、個人電腦、平闆、電視、汽車和智能穿戴等多種裝置上的需求。
圖4 ArkCompiler 3.0原理圖
本次推出的ArkCompiler 3.0包含以下關鍵特性:
1. 前端編譯器支援将多種進階語言(包括JS、TS和Java)編譯成統一的位元組碼檔案,屏蔽語言的差異,提升運作效率和程式啟動性能。
2. 提供多種端側執行模式(解釋器、JIT編譯器和AOT編譯器),形成結合裝置和應用特征的多層次組合運作政策,滿足不同裝置硬體規格。
解釋器:啟動快,執行性能一般,記憶體占用小。
JIT編譯器:啟動需要預熱,執行性能高,記憶體占用較高。
AOT編譯器:啟動快,執行性能高,記憶體占用高。
在低端IoT裝置上,ArkCompiler 3.0支援純解釋器的執行模式,以滿足小裝置的記憶體限制條件。
在高端裝置上,ArkCompiler 3.0支援解釋器配合AOT和JIT編譯器的執行模式,對大部分應用代碼使用AOT編譯器編譯,使得程式一開始就可以運作在高品質的優化代碼上,獲得最好的執行性能。
在其它裝置上,則根據裝置的硬體條件限制來選擇政策,設定高頻使用需要AOT編譯的代碼範圍,其它代碼則依靠解釋器配合JIT編譯器運作,使得應用執行性能能夠得到最大化。
3. ArkCompiler 3.0特别對TS/JS做了針對性優化規劃,目标是提升執行性能1倍。
四、DevEco Studio 3.0
HUAWEI DevEco Studio是面向全場景多裝置,提供一站式的原子化服務&HarmonyOS應用開發平台。DevEco Studio 3.0為開發、調試和測試三個階段都提供了更多功能來提升跨端應用開發效率。
1. 開發階段,DevEco Studio 3.0提供的以下功能幫助開發者實作跨端高效編碼。
支援ArkUI3.0架構,提供eTS超級終端工程模闆,支援開發者一鍵建立跨端應用工程。
提供實時雙向預覽能力,開發者在編寫代碼的同時可以便捷調整UI界面。
圖5 實時預覽
一次開發,多端部署,支援同一個工程在手機、平闆、車機等多種裝置上運作。
圖6 一次開發,多端部署
2. 調試階段,DevEco Studio 3.0提供以下功能幫助開發者降低跨端分布式調測門檻。
提供分布式遠端模拟器,降低開發者跨端應用調試的成本。
提供可視化跨裝置網絡連接配接和記憶體堆棧功能,降低開發者跨端應用調試的難度。
圖7 跨端分布式調測
3. 內建測試階段,DevEco Studio 3.0的雲端服務平台DevEco Service提供遠端實驗室和內建測試服務“*DevEco* Testing”,幫助開發者雲端一鍵式完成跨端應用內建測試。
遠端實驗室提供7*24小時華為真機環境,涵蓋華為1+8全類型真機裝置,免除購置和維護成本,解決開發者在測試應用時無裝置或裝置類型不全的問題。
DevEco Testing在遠端實驗室的基礎上, 為開發者提供一鍵式跨端應用內建測試服務,覆寫相容性、穩定性、性能、功耗、UX測試、安全等測試。
圖8 DevEco Service雲端服務平台
內建測試服務DevEco Testing連結:https://devecostudio.huawei.com/
截止HDC.Together 2021主題演講會當天,Harmony SDK新增6000+ TS/JS API,支援跨端應用高效開發。涵蓋以下能力:
分布式系統服務: 跨端服務拉起、跨端服務調用、跨端服務遷移等
多媒體能力: 錄音、播放、圖檔解碼等
多線程并發能力: Workers多線程能力、線程間資料共享等
聲明式UI能力: MVVM程式設計模型、豐富UI元件、動效能力、原子布局能力等
目前,TS/JS API 支援富媒體類應用場景開發,比如圖庫類、月曆類等。
我們計劃在2022年提供增強UI元件和增強分布式能力的TS/JS API版本,全面支援華為超級終端下三方重度應用場景開發,比如咨詢類、影音類、社交類、購物類等。
最後,我們來看看HarmonyOS 3.0.0的版本特性路标:
圖9 版本特性路标
以上就是HarmonyOS 3.0.0開發者預覽版釋出内容。歡迎各位開發者小夥伴們到HarmonyOS官網下載下傳工具和資源包,提前嘗鮮HarmonyOS 3.0.0的新特性,感謝您一路陪伴HarmonyOS的成長!
更多HarmonyOS 3.0.0開發特性和路标詳細資訊,請通路官網HarmonyOS 3.0.0專題頁:
https://developer.harmonyos.com/cn/develop/harmonyos-sdk
掃碼添加開發者小助手微信
擷取更多HarmonyOS開發資源和開發者活動資訊