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