2021年10月22日在華為開發者大會HDC.Together 2021主題演講上,我們發布了HarmonyOS 3.0.0開發者預覽版,主要內容包括:HarmonyOS設計系統、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 APIs,支持TS語言開發富媒體應用。未來,TS/JS語言在HarmonyOS應用開發中會越來越重要。
下面,讓我們再來回顧一下HarmonyOS 3.0.0開發者預覽版的關鍵內容吧~
Harmony設計系統
Harmony設計系統,綜合考慮人因、設備和環境等因素,為跨端應用界面設計提供完備的設計規范、便捷的設計工具、以及豐富的設計資源,方便開發者創作出更優秀的設計。
ArkUI 3.0
ArkUI 3.0是一套構建HarmonyOS應用界面的聲明式UI開發框架。它通過極簡的UI信息描述語法、豐富的UI組件和動效,以及實時界面預覽能力,幫助您提升HarmonyOS應用界面開發效率。
ArkUI 3.0的關鍵特性如下:
● 從以Java為主要編程語言的命令式UI框架,演進為以TS/JS為主要編程語言的聲明式UI框架,生產效率提高30%。
圖1 UI框架演進
為何UI開發框架會發生這樣的演進?從開發模式方面來看,聲明式比命令式具備更直觀更簡潔的能力,能進一步提升開發效率;從語言方面來看,TS/JS具備了廣泛的生態以及更強的靈活性。根據RedMonk 2021年Q1 編程語言排名,JS語言綜合排名第一,并且是目前全球開發者中使用最多的語言。JS語言擁有非常強大的生態社區,學習資源、三方庫和工具資源非常豐富。相比靜態類型開發語言(比如Java),JS因為動態類型和類腳本語言的特點,開發類似功能的應用時,JS代碼一般行數更少,開發效率更高。TS是JS的一個超集,有效地提升了JS開發大型工程的便利性和可維護性。
● 提供極簡UI開發語法和組件,提高跨設備應用UI開發效率。
圖2 ArkUI的高效率
ArkUI擁有極簡的UI信息描述語法、豐富的UI組件和高效跨端開發能力,對比傳統的應用界面開發,代碼量減少30%以上。
● 通過針對聲明式的前后端一致化的渲染優化設計,進一步提升應用性能體驗。
圖3 ArkUI的高性能
ArkUI通過扁平化統一渲染和并行流水線技術,保證應用性能體驗和安卓原生應用體驗不相上下,在典型的復雜場景下,內存還可降低20%。
ArkCompiler 3.0
ArkCompiler是華為自研的統一編程平臺,包含編譯器、工具鏈、運行時等關鍵部件,支持高級語言在多種芯片平臺的編譯與運行,并支撐應用和服務運行在手機、個人電腦、平板、電視、汽車和智能穿戴等多種設備上的需求。
圖4 ArkCompiler3.0原理圖
本次推出的ArkCompiler 3.0包含以下關鍵特性:
● 前端編譯器支持將多種高級語言(包括JS、TS和Java)編譯成統一的字節碼文件,屏蔽語言的差異,提升運行效率和程序啟動性能。
● 提供多種端側執行模式(解釋器、JIT編譯器和AOT編譯器),形成結合設備和應用特征的多層次組合運行策略,滿足不同設備硬件規格。
■ 解釋器:啟動快,執行性能一般,內存占用小。
■ JIT編譯器:啟動需要預熱,執行性能高,內存占用較高。
■ AOT編譯器:啟動快,執行性能高,內存占用高。
在低端IoT設備上,ArkCompiler 3.0支持純解釋器的執行模式,以滿足小設備的內存限制條件。在高端設備上,ArkCompiler 3.0支持解釋器配合AOT和JIT編譯器的執行模式,對大部分應用代碼使用AOT編譯器編譯,使得程序一開始就可以運行在高質量的優化代碼上,獲得最好的執行性能。在其它設備上,則根據設備的硬件條件限制來選擇策略,設定高頻使用需要AOT編譯的代碼范圍,其它代碼則依靠解釋器配合JIT編譯器運行,使得應用執行性能能夠得到最大化。
● ArkCompiler 3.0特別對TS/JS做了針對性優化規劃,目標是提升執行性能1倍。
DevEco Studio 3.0
HUAWEI DevEco Studio是面向全場景多設備,提供一站式的原子化服務&HarmonyOS應用開發平臺。
DevEco Studio 3.0為開發、調試和測試三個階段都提供了更多功能來提升跨端應用開發效率。
● 開發階段,DevEco Studio 3.0提供的以下功能幫助開發者實現跨端高效編碼。
■ 支持ArkUI3.0框架,提供eTS超級終端工程模板,支持開發者一鍵創建跨端應用工程。
■ 提供實時雙向預覽能力,開發者在編寫代碼的同時可以便捷調整UI界面。
圖5 實時預覽
■ 一次開發,多端部署,支持同一個工程在手機、平板、車機等多種設備上運行。
圖6 一次開發,多端部署
● 調試階段,DevEco Studio 3.0提供以下功能幫助開發者降低跨端分布式調測門檻。
■ 提供分布式遠程模擬器,降低開發者跨端應用調試的成本。
■ 提供可視化跨設備網絡連接和內存堆棧功能,降低開發者跨端應用調試的難度。
圖7 跨端分布式調測
● 集成測試階段,DevEco Studio 3.0的云端服務平臺DevEco Service提供遠程實驗室和集成測試服務“DevEco Testing”,幫助開發者云端一鍵式完成跨端應用集成測試。
■ 遠程實驗室提供7*24小時華為真機環境,涵蓋華為1+8全類型真機設備,免除購置和維護成本,解決開發者在測試應用時無設備或設備類型不全的問題。
■ DevEco Testing在遠程實驗室的基礎上,為開發者提供一鍵式跨端應用集成測試服務,覆蓋兼容性、穩定性、性能、功耗、UX測試、安全等測試。
圖8 DevEco Service云端服務平臺
集成測試服務DevEco Testing鏈接:
https://devecostudio.huawei.com/
TS/JS APIs
截止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的版本特性路標:
以上就是HarmonyOS 3.0.0開發者預覽版發布內容。歡迎各位開發者小伙伴們到HarmonyOS官網下載工具和資源包,提前嘗鮮HarmonyOS 3.0.0的新特性,感謝您一路陪伴HarmonyOS的成長!