2024鴻蒙生態(tài)應(yīng)用開發(fā)白皮書V2.0_第1頁(yè)
2024鴻蒙生態(tài)應(yīng)用開發(fā)白皮書V2.0_第2頁(yè)
2024鴻蒙生態(tài)應(yīng)用開發(fā)白皮書V2.0_第3頁(yè)
2024鴻蒙生態(tài)應(yīng)用開發(fā)白皮書V2.0_第4頁(yè)
2024鴻蒙生態(tài)應(yīng)用開發(fā)白皮書V2.0_第5頁(yè)
已閱讀5頁(yè),還剩126頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

O21)一次開發(fā),多端部署·········· 2)可分可合,自由流轉(zhuǎn)·········· 3)統(tǒng)一生態(tài),原生智能·········· 1)賦能套件····· ········ 2)鴻蒙開發(fā)套件· ·········· 3)三方庫(kù)················ 4)開發(fā)者支持平臺(tái)············ 1)典型開發(fā)場(chǎng)景············· 2)設(shè)計(jì)················· 3)ArkTS語(yǔ) ········ ···· 4)ArkUI框架········ ···· 5)應(yīng)用程序框架············· 6)SDK················· 7)集成開發(fā)環(huán)境············· 8)測(cè)試工具····· ········· 1)快速上架··1)快速上架···············2)應(yīng)用分發(fā)···············3)服務(wù)分發(fā)···············

1)價(jià)值與架構(gòu)定義············2)跨端遷移···············3)多端協(xié)同···············

O8O9 ChapterIoTGSMA2025終端連接數(shù)量將達(dá)246億個(gè),其中消費(fèi)物聯(lián)網(wǎng)終端連接數(shù)量將達(dá)110億個(gè)(注:數(shù)據(jù)來(lái)自于全球移動(dòng)通信系統(tǒng)協(xié)會(huì)發(fā)布的《2020)。IDC預(yù)計(jì)到2025102.7(注:數(shù)據(jù)來(lái)自于IDC2020—2025》報(bào)告)。全新的全場(chǎng)景設(shè)備體驗(yàn),正深入改變消費(fèi)者的使用習(xí)慣。同時(shí)應(yīng)與此同時(shí),AI時(shí)代全面來(lái)臨,在PC互聯(lián)網(wǎng)到移動(dòng)互聯(lián)網(wǎng)到智能化終端演進(jìn)過程中,AI算能力越來(lái)越強(qiáng),在設(shè)備側(cè)就能提供AI的相關(guān)能力,例如自然語(yǔ)言交互、環(huán)境智能感知、圖像識(shí)別等。如何快速地使用設(shè)備側(cè)的強(qiáng)大AI能力,使自己的應(yīng)用更加智能化,進(jìn)而更好圖、可獨(dú)立執(zhí)行、完成單一功能的程序?qū)嶓w正成為新的趨勢(shì),例如小程序、AppClips、快究院發(fā)布的《2021),App占比已超過App,成為面向用戶的主要觸達(dá)方式。App基于搜索下載的“人找應(yīng)用”的傳統(tǒng)分發(fā)向“服務(wù)找人”的智慧分發(fā)的演進(jìn)。App遵慧入口進(jìn)行分發(fā),甚至可以在三方App中分發(fā),依托無(wú)所不在的入口流量和標(biāo)簽化識(shí)別,向用戶主動(dòng)提供精準(zhǔn)服務(wù)。配合CPS(CostPerSale)等商業(yè)模式,可以為開發(fā)者帶來(lái)更高的ROI(ReturnofInvestment)。集中化分發(fā)到AI加持下的智慧分發(fā):為消費(fèi)者提供智慧場(chǎng)景服務(wù),實(shí)現(xiàn)“服務(wù)找純軟件到軟硬芯協(xié)同的AI能力:提供軟硬芯協(xié)同優(yōu)化的原生AI能力,全面滿足應(yīng)Chapter(如:手機(jī)、平板等)AppHarmonyOSHarmonyOSHarmonyOSAppPack在HarmonyOSHarmonyOS萬(wàn)能卡片:aySaoyS元服務(wù)的一個(gè)組成部分,將重要信息或操作前置到卡片,以達(dá)到服務(wù)直達(dá),減少操作層級(jí)的目的。萬(wàn)能卡片常用于嵌入到其他系統(tǒng)應(yīng)用(桌面/負(fù)一屏)中作為其界面的一部分顯示,并支持點(diǎn)擊拉起元服務(wù)。aySHarmonyOS應(yīng)用與元服務(wù)基于同一個(gè)鴻蒙系統(tǒng)技術(shù)棧開發(fā),同屬一個(gè)鴻蒙生態(tài)。Chapter3-1 1)“一次開發(fā),多端部署”指的是一個(gè)工程,一次開發(fā)上架,多端按需部署。目的是為了支撐開發(fā)者高效地開發(fā)多種終端設(shè)備上的應(yīng)用。為了實(shí)現(xiàn)這一目的,鴻蒙系統(tǒng)提供了幾個(gè)核心能力,包括多端開發(fā)環(huán)境,多端開發(fā)能力以及多端分發(fā)機(jī)制。3-2:一次開發(fā)多端部署HUAWEIDevEcoStudio是面向全場(chǎng)景多設(shè)備提供的一站式開發(fā)平臺(tái),支持多端雙向低成本、提升效率、提高質(zhì)量。HUAWEIDevEcoStudio提供的核心能力如下圖所示:3-3:HUAWEIDevEcoStudio要在不同設(shè)備上查看UI發(fā)者需要獲取大量不同的真機(jī)設(shè)備用于測(cè)試驗(yàn)證。HUAWEIDevEcoStudio提供了多種設(shè)UIUI多個(gè)設(shè)備之間來(lái)回切換,容易造成調(diào)試不連續(xù)、操作繁瑣等問題。為了提升開發(fā)效率,HUAWEIDevEcoStudio提供了分布式調(diào)試功能,支持跨設(shè)備調(diào)試,通過代碼斷點(diǎn)和調(diào)試3-4需要單獨(dú)查看每個(gè)設(shè)備的性能數(shù)據(jù),并手動(dòng)關(guān)聯(lián)分析這些數(shù)據(jù),操作繁瑣,復(fù)雜度高。HUAWEIDevEcoStudio提供了分布式調(diào)優(yōu)功能,支持多設(shè)備分布式調(diào)用鏈跟蹤、跨設(shè)備3-5應(yīng)用需要運(yùn)行在多種不同類型的設(shè)備上,為此HUAWEIDevEcoStudio提供了不同類型的低代碼開發(fā)提供UI可視化開發(fā)能力,支持自由拖拽組件和可視化數(shù)據(jù)綁定,可快速預(yù)下幾個(gè)核心能力,支持多端UI適配,交互事件歸一,設(shè)備能力抽象,幫助開發(fā)者降低開發(fā)UI物理像素,并提供豐富的自適應(yīng)/響應(yīng)式的布局和視覺能力,方便開發(fā)者進(jìn)行不同屏幕的界vp(virtualpixel)對(duì)分辨率進(jìn)行抽象,不同設(shè)存在差異,鴻蒙系統(tǒng)根據(jù)設(shè)備的屏幕水平寬度,抽象和定義了四種尺寸:超?。▁s)(sm)、中()、大(l)。這四種抽象后的屏幕尺寸與日常使用的設(shè)備屏幕類型有一定的對(duì)應(yīng)關(guān)系,例如:超小對(duì)應(yīng)智能穿戴設(shè)備,小對(duì)應(yīng)手機(jī)和折疊屏折疊態(tài),中對(duì)應(yīng)折疊屏展開態(tài)和平板,大對(duì)應(yīng)智慧屏。開發(fā)者可面向應(yīng)用運(yùn)行的目標(biāo)設(shè)備進(jìn)行屏幕類型的適配。3-6相對(duì)關(guān)系包含占比、固定寬高比、顯示優(yōu)先級(jí)等。當(dāng)前自適應(yīng)布局能力主要有7種:拉伸能)進(jìn)行自動(dòng)切換。當(dāng)前響應(yīng)式布局能力主要有3種:斷點(diǎn)、媒體查詢、柵格布局。鴻蒙系統(tǒng)3-13-1CtrlI/O支持某一能力,方便開發(fā)者進(jìn)行不同軟、硬件能力的功能適配。在鴻蒙系統(tǒng)中,使用SystemCapability(簡(jiǎn)寫為SysCap)定義每個(gè)部件對(duì)應(yīng)用開發(fā)者提供的系統(tǒng)軟硬件能力。圖開發(fā)者開發(fā)多設(shè)備應(yīng)用,只需要一套工程,一次打包出多個(gè)HAP,統(tǒng)一上架,即可根據(jù)設(shè)3-81:應(yīng)用或服務(wù)的UI自適應(yīng)不同尺寸的設(shè)備屏幕,并且在不同設(shè)備的功能相同,可以實(shí)現(xiàn)多設(shè)備共享一個(gè)HAP包。這種場(chǎng)景下建議開發(fā)者通過一個(gè)模塊來(lái)開發(fā),并配置該模塊支持多設(shè)備,然后再編譯構(gòu)建生成一個(gè)HAP,分發(fā)到不同類型的設(shè)備上運(yùn)2UIHAPHAP架。HUAWEIAppGalleryConnectHAP對(duì)應(yīng)的設(shè)備自動(dòng)分發(fā)正確的HAP包組合。3-92)可分可合,自由流轉(zhuǎn)元服務(wù)基于鴻蒙系統(tǒng)API開發(fā),支持運(yùn)行在1+8+N設(shè)備上,供用戶在合適的場(chǎng)景、自由流轉(zhuǎn):元服務(wù)支持運(yùn)行在多設(shè)備上并按需跨端遷移,或者多個(gè)設(shè)備協(xié)同起來(lái)給用戶提供最優(yōu)的體驗(yàn)。例如手機(jī)上未完成的郵件,遷移到平板繼續(xù)編輯,手機(jī)用作文檔翻頁(yè)和批注,配合智慧屏完成分布式辦公;例如分布式游戲場(chǎng)景,手機(jī)可作為手柄,與智慧屏配合玩游戲,獲得新奇游戲體驗(yàn)。以將一個(gè)或多個(gè)模塊自由組合,打包成一個(gè)AppPackHAP都可以單獨(dú)分發(fā)滿足用戶單一使用場(chǎng)景,也可以多個(gè)HAP組合分發(fā)滿足用戶更加復(fù)雜的使3-10模式一:打包成多個(gè)AppPack,不同AppPackApp模式二:打包成一個(gè)AppPack,AppPack里面的HAP包名相同,統(tǒng)一上架。在3)統(tǒng)一生態(tài),原生智能歸納為WebView渲染、原生渲染和自渲染這三類,鴻蒙系統(tǒng)對(duì)應(yīng)的提供系統(tǒng)WebView、ArkUI框架和XComponent能力來(lái)支撐三種類型的跨平臺(tái)框架的接入HarmonyOS,基于這些框架開發(fā)的應(yīng)用可以以AIAI3-11AIMachineLearningKit:提供場(chǎng)景化能力,包括通用卡證識(shí)別、實(shí)時(shí)語(yǔ)音識(shí)別等;提供AI控件能力,使系統(tǒng)控件融合文字識(shí)別等AI能力。CoreAIAPI:提供圖像語(yǔ)義、語(yǔ)言語(yǔ)音解析、OCRCoreDeepLearningAPIHarmonyOSChapter4-11)賦能套件開發(fā)者了解和學(xué)習(xí)鴻蒙系統(tǒng)的各類資源,覆蓋開發(fā)者全旅程,內(nèi)容包含白皮書、4-2Celas:以教學(xué)為目的的代碼樣例及詳細(xì)的開發(fā)指導(dǎo),幫助開發(fā)者一步步地完成指定場(chǎng)景的應(yīng)用開發(fā)并掌握相關(guān)知識(shí)。Coelas(開發(fā)流程、開發(fā)步驟、調(diào)測(cè)驗(yàn)證)UX設(shè)計(jì)資源與指南:提供開發(fā)鴻蒙生態(tài)應(yīng)用所需的UX設(shè)計(jì)規(guī)范、指導(dǎo)文檔以及推薦API參考:面向開發(fā)者提供鴻蒙系統(tǒng)開放接口的全集,供開發(fā)者了解具體接口使用方法。API參考詳細(xì)地描述了每個(gè)接口的功能、使用限制、參數(shù)名、參數(shù)類型、參數(shù)含義、取值范SampleCode:面向不同類型的開發(fā)者提供的鴻蒙生態(tài)應(yīng)用開發(fā)優(yōu)秀實(shí)踐,每個(gè)SampleCodeFAQ:開發(fā)者常見問題的總結(jié),開發(fā)者可以通過FAQFAQ/獲取。2)鴻蒙開發(fā)套件鴻蒙開發(fā)套件包含設(shè)計(jì)、開發(fā)、測(cè)試、運(yùn)維套件以及OS開放能力集。通過鴻蒙開發(fā)套4-3HarmonyOSDesign是面向萬(wàn)物互聯(lián)的設(shè)計(jì)系統(tǒng),為用戶帶來(lái)全新交互體驗(yàn)。其秉承開發(fā)者在應(yīng)用開發(fā)過程中使用到的產(chǎn)品集合,包含HUAWEIDevEcoStudio以及HUAWEIDevEcoStudioSDK4-4HUAWEIDevEcoStudio:鴻蒙生態(tài)應(yīng)用、元服務(wù)開發(fā)配套的集成開發(fā)環(huán)境(IDE),SDK:HUAWEIDevEcoStudioAPI請(qǐng)?jiān)L問/cn/develop/deveco-studioHUAWEIDevEcoStudioSDK覆蓋鴻蒙生態(tài)應(yīng)用性能、功耗、穩(wěn)定性、兼容性、UX、安全、分布式、游戲等測(cè)試規(guī)4-1CPU長(zhǎng)時(shí)間運(yùn)行故障率(AppCrash/AppFreeze)、長(zhǎng)時(shí)間運(yùn)行內(nèi)存泄OSUXUX糊、黑邊及白塊等UX顯示異常。試工具集,支持手機(jī)、折疊屏、平板、智慧屏、手表、音箱等1+8+N4-5:鴻蒙生態(tài)應(yīng)用測(cè)試工具概覽4-2覆蓋性能、功耗、穩(wěn)定性、兼容性、UX、安全共6項(xiàng)專項(xiàng)自UIArkTS測(cè)試框架提供支撐用例運(yùn)行的基礎(chǔ)能力,UI測(cè)試框架提供UI控件查找、點(diǎn)擊、檢視、按鍵注入等模擬用戶操作的API。UIUIHUAWEIDevEcoStudio試,支持華為1+8+N多設(shè)備運(yùn)行。4-3主要包括由HUAWEIAppGalleryConnect4-44-5性能管理(APM,AppPerformanceManagement)服務(wù)提供分鐘級(jí)OSOSSDK力,包括UI框架、Ability、分布式服務(wù)、安全、方舟編譯器、AppService、基礎(chǔ)軟件服ArkUIArkUIUIUI為一個(gè)個(gè)獨(dú)立的UI單元,實(shí)現(xiàn)頁(yè)面不同單元的獨(dú)立創(chuàng)建、開發(fā)和復(fù)用。API擴(kuò)展機(jī)制:通過相應(yīng)的擴(kuò)展機(jī)制,封裝豐富的系統(tǒng)能力接口,開發(fā)者可以通過基于MVVM(Model-View-ViewModel)模型:充分結(jié)合ArkUI的聲明式UI特支持多設(shè)備:Ability通信方式各不相同(比如WLAN、藍(lán)牙、ETH、PLC、NFC、USB、Zigbee、紅外、超聲波分布式文件:基于分布式軟總線,為應(yīng)用跨設(shè)備文件相互訪問提供完整解決方案。分布式文件系統(tǒng)是一個(gè)直接構(gòu)建在內(nèi)核態(tài),無(wú)中心、高性能的文件系統(tǒng)。提供了標(biāo)IX4-6ModemModemWi-Fi應(yīng)用程序隔離和權(quán)限管理:權(quán)限訪問控制是基于ccessn能力,系統(tǒng)化地規(guī)范應(yīng)用程序的行為準(zhǔn)則與權(quán)限許可并強(qiáng)制執(zhí)行。由于應(yīng)用通過沙箱機(jī)制彼此隔離,默認(rèn)情況下,應(yīng)用只能訪問有限的系統(tǒng)資源。但應(yīng)用為了擴(kuò)展功能,需要訪問沙箱外的系統(tǒng)或其它應(yīng)用的數(shù)據(jù)或能力,系統(tǒng)或應(yīng)用也需要具備共享數(shù)據(jù)或能力。為了保證這些數(shù)據(jù)或能力不被不當(dāng)或惡意使用,ccessn理機(jī)制提供了程序操作某種對(duì)象的許可,在應(yīng)用層面,使用顯式定義且經(jīng)用戶授權(quán)的權(quán)限控制機(jī)制。方舟編譯器包括動(dòng)態(tài)類型和靜態(tài)類型語(yǔ)言在內(nèi)的多種編程語(yǔ)言,如ArkTS、TS、JS。方舟編譯器是鴻蒙系統(tǒng)作為手機(jī)、平板、電視、車機(jī)和智能穿戴等多種設(shè)備統(tǒng)一操作系統(tǒng)的編譯運(yùn)行時(shí)底座。主要分成兩個(gè)部分,編譯工具鏈與運(yùn)行時(shí)。編譯工具鏈以/T/JSBCCmilerByecde,即方舟字節(jié)碼)4-6:方舟編譯器原生支持類型:目前業(yè)界引擎執(zhí)行TS的方式是先把TS轉(zhuǎn)化為JS,再運(yùn)行JS源碼來(lái)完成對(duì)應(yīng)的語(yǔ)義邏輯。方舟編譯器的編譯工具鏈編譯TS源碼時(shí),會(huì)分析推導(dǎo)TS存(InlineCache)以加速字節(jié)碼執(zhí)行。另外,TSAOT(Ahead-of-Time)瀏覽器或者Node.js,通常會(huì)提供基于Actor并發(fā)模型的WorkerAPI來(lái)支持多線程開發(fā)。Actor模型下執(zhí)行體之間不共享任何數(shù)據(jù)對(duì)象,通過消息機(jī)制進(jìn)行通信。因此Web引擎或者Node.js引擎的Worker都有啟動(dòng)速度慢、內(nèi)存占用高這些問題。針對(duì)這些問題,方舟編譯器運(yùn)行時(shí)已經(jīng)實(shí)現(xiàn)了Actor實(shí)例中的不可變或者不易變的對(duì)象(方法和字節(jié)碼)的共享,較大程度地優(yōu)化了Actor的啟動(dòng)性能和啟動(dòng)內(nèi)簡(jiǎn)潔的并發(fā)API:方舟編譯運(yùn)行時(shí)不只提供了業(yè)界通用的WorkerAPI,還提供了TaskPool,作為并發(fā)API的增強(qiáng)。TaskPool是一個(gè)支持優(yōu)先級(jí)調(diào)度、工作線程自負(fù)載變化時(shí)需要?jiǎng)?chuàng)建或者銷毀并發(fā)實(shí)例,極大地簡(jiǎn)化了高性能多線程鴻蒙應(yīng)用的開發(fā)。安全:方舟編譯器前端編譯工具鏈將ArkTS/TS/JS程序預(yù)先靜態(tài)編譯為方舟字節(jié)碼,時(shí)出于安全的考慮,ArkCompiler不支持sloppy模式的JS代碼,也不支持eval見的通信方式,涵蓋短距離的無(wú)線通信(NFCWLAN)、長(zhǎng)距離的蜂窩WLAN服務(wù):提供WLAN基礎(chǔ)功能、P2P(peer-to-peer)功能和WLAN3.04.0NFC服務(wù):提供近距離的、非接觸式識(shí)別和互聯(lián)技術(shù),讓移動(dòng)設(shè)備、消費(fèi)類SIM效果、顯示與內(nèi)存管理、2D圖形庫(kù)和3D圖形引擎這幾個(gè)子模塊。2D渲染服務(wù)。渲染服務(wù):提供應(yīng)用的界面顯示(包括控件、動(dòng)效等UI元素),將不同應(yīng)用顯示與內(nèi)存管理:提供了硬件合成、送顯、Vsync以及顯示設(shè)備、Surface、Bufferqueue輪轉(zhuǎn)、本地平臺(tái)化窗口等能力。2D2DSKIA3D圖形引擎:提供3D圖形場(chǎng)景管理、渲染系統(tǒng)、插件平臺(tái)和物理引擎等能地控制外設(shè),其中包括電源、USB、泛sensor和位置服務(wù)等,下面介紹兩個(gè)常用的服務(wù)。sensorSensorAPI位置服務(wù)(LBS,LocationBasedServices)又稱定位服務(wù),是由移動(dòng)通信網(wǎng)絡(luò)和全球?qū)Ш叫l(wèi)星系統(tǒng)定位:提供GNSS定位服務(wù)的全能力,包含GNSS定位請(qǐng)求管理、GNSS芯片參數(shù)設(shè)置、GNSS芯片參數(shù)上報(bào)訂閱、GNSS緩存等功能。網(wǎng)絡(luò)定位:提供基站、WLAN被動(dòng)定位:提供被動(dòng)定位功能,允許應(yīng)用進(jìn)行被動(dòng)定位,該種類型定位不會(huì)主動(dòng)發(fā)起SSSS或者網(wǎng)絡(luò)定位請(qǐng)求時(shí),被動(dòng)定位的應(yīng)用才會(huì)收到位置信息。地理圍欄:提供地理圍欄的能力,支持圍欄添加和刪除、圍欄事件訂閱和取消、圍欄事件主動(dòng)通知等功能。區(qū)域管理:提供國(guó)家碼、城市碼、區(qū)域碼等信息的檢測(cè)能力,對(duì)外提供國(guó)家碼查詢接口,主動(dòng)監(jiān)聽國(guó)家碼等信息變化并通知給應(yīng)用。App云服務(wù),AppService推送服務(wù):多種推送樣式,支持大文本、Inbox多行文本、帶按鈕等樣式,幫助開廣告服務(wù):開發(fā)者可以通過流量變現(xiàn)服務(wù)在應(yīng)用內(nèi)廣告中獲得更多收益;通過廣告標(biāo)識(shí)服務(wù),可以保護(hù)用戶隱私,也可以幫助廣告平臺(tái)和三方監(jiān)測(cè)平臺(tái)合規(guī)地開展個(gè)性化廣告和轉(zhuǎn)化歸因。3)三方庫(kù)ArkTS/TS/JSC/CNAPI4-7鴻蒙生態(tài)中心倉(cāng)聚合了豐富的鴻蒙生態(tài)開發(fā)三方庫(kù),方便開發(fā)者一站式獲取。個(gè)人/組織貢獻(xiàn)者將開發(fā)好的三方庫(kù)通過OHPM發(fā)布到中心倉(cāng)。應(yīng)用開發(fā)者登錄鴻蒙生態(tài)中心倉(cāng)OHPM4)開發(fā)者支持平臺(tái)開發(fā)者學(xué)堂:聚合官方鴻蒙生態(tài)課程,課程有慕課、微課、直播課、訓(xùn)練營(yíng)等多種形式,內(nèi)容有入門、基礎(chǔ)、進(jìn)階分級(jí),面向開發(fā)者提供學(xué)、練、考、證一站式服務(wù),滿足開發(fā)者不同階段的學(xué)習(xí)訴求。Chapter3)ArkTS4)ArkUI框架1)典型開發(fā)場(chǎng)景2)設(shè)計(jì)HarmonyOSDesign支持跨設(shè)備的超級(jí)終端一拖即連,萬(wàn)能卡片輕輕一滑即可獲取所HarmonyOSDesign涵蓋全面的全場(chǎng)景設(shè)計(jì)規(guī)范,豐富的設(shè)計(jì)資源,以及設(shè)計(jì)工具,體再升級(jí),支持新版國(guó)標(biāo)漢字完整覆蓋GB18030—2022實(shí)現(xiàn)級(jí)別2的漢字。適配多尺寸界面。首創(chuàng)自適應(yīng)UI引擎,自動(dòng)學(xué)習(xí)優(yōu)化布局,提升開發(fā)效率與實(shí)現(xiàn)3)ArkTS語(yǔ)言ArkTS是鴻蒙生態(tài)應(yīng)用的開發(fā)語(yǔ)言,使用.ets作為ArkTS語(yǔ)言源碼文件后綴。它在保持TypeScript(簡(jiǎn)稱TS)基本語(yǔ)法風(fēng)格的基礎(chǔ)上,對(duì)TS的動(dòng)態(tài)類型特性施加更嚴(yán)格的約束,引入靜態(tài)類型。同時(shí)提供了聲明式UI、狀態(tài)管理等相應(yīng)的能力,讓開發(fā)者以更簡(jiǎn)潔、ArkTS最重要的特性之一是靜態(tài)類型。相比于TS只在編譯時(shí)進(jìn)行類型檢查,ArkTS將面向未來(lái),ArkTS力增強(qiáng)、類型系統(tǒng)增強(qiáng)等方面的語(yǔ)言特性,進(jìn)一步提升ArkTS應(yīng)用的開發(fā)和運(yùn)行體驗(yàn)。鴻蒙生態(tài)應(yīng)用開發(fā)者可以從官方開發(fā)者網(wǎng)站中獲取ArkTS語(yǔ)言介紹,快速入門ArkTSTSTypeScriptArkTS遷移指導(dǎo),幫助開發(fā)者快速將已有TS代碼重構(gòu)為ArkTS代碼。4)ArkUI框架ArkUI是鴻蒙生態(tài)原生的UI5-1:ArkUIArkUI框架提供給開發(fā)者兩種開發(fā)方式:基于ArkTS的聲明式開發(fā)范式和基于JS擴(kuò)展WebWebWeb能和性能方面對(duì)比類Web開發(fā)范式有了全面提升。采用聲明式開發(fā)范式進(jìn)行應(yīng)用開發(fā),相同場(chǎng)景下,對(duì)比類Web開發(fā)范式代碼更為精簡(jiǎn),并且在性能、內(nèi)存方面進(jìn)一步優(yōu)化提升。另外ArkUI框架還提供了APIJS接口。下面聲明式開發(fā)范式的核心思想是數(shù)據(jù)驅(qū)動(dòng)UI變化,通過提供的狀態(tài)進(jìn)行數(shù)據(jù)管理,這里狀態(tài)管理指的是,管理數(shù)據(jù)發(fā)生變化時(shí),UI組件更新的范圍,如下狀態(tài)圖表達(dá)了UI框架的5-2狀態(tài)管理從生效范圍的維度可以分為應(yīng)用范圍和組件范圍。應(yīng)用范圍的數(shù)據(jù)是以AppStorage為中心進(jìn)行管理,根據(jù)不同的使用場(chǎng)景分為提供系統(tǒng)環(huán)境數(shù)據(jù)管理的EnvironmentPersistentStorage。組件范圍的數(shù)據(jù)通過裝飾器的@State:組件擁有的狀態(tài)屬性,當(dāng)@State裝飾的變量更改時(shí),組件會(huì)重新渲染更新UI。k:組件依賴于其父組件擁有的某些狀態(tài)屬性,當(dāng)任何一個(gè)組件中的數(shù)據(jù)更新時(shí),另一個(gè)組件的狀態(tài)都會(huì)更新,父子組件重新渲染。@Consume:在感知到@ProvideAppStorage@StorageLink裝飾器:組件通過使用@StorageLink(key)裝飾的狀態(tài)變量,與AppStorage建立雙向數(shù)據(jù)綁定,key為AppStorage中的屬性鍵值。當(dāng)創(chuàng)建包含@StorageLink的狀態(tài)變量的組件時(shí),該狀態(tài)變量的值將使用AppStorage中的值進(jìn)行初始化。在UI組件中對(duì)@StorageLink的狀態(tài)變量所做的更改將同步到AppStorage,并從AppStorage同步到任何其他綁定實(shí)例中,如PersistentStorage或其他綁定的UI組件。@StorageProp裝飾器:組件通過使用@StorageProp(key)裝飾的狀態(tài)變量,將與AppStorage建立單向數(shù)據(jù)綁定,key標(biāo)識(shí)AppStorage中的屬性鍵值。當(dāng)創(chuàng)建包含@StoageProp的狀態(tài)變量的組件時(shí),該狀態(tài)變量的值將使用AppStorage中的值進(jìn)行初始化。AppStorage中的屬性值的更改會(huì)導(dǎo)致綁定的UI組件進(jìn)行狀態(tài)更新。布局指用特定的組件或者屬性來(lái)管理用戶頁(yè)面所放置UI組件的大小和位置。在實(shí)際的組件是ArkUI框架中的基礎(chǔ)顯示單元,一切UI顯示的內(nèi)容都是組件。ArkUI框架提供多種開箱即用的UI組件,如文本顯示、圖片顯示、按鍵等,并提供了面向多種設(shè)備形態(tài)的UIArkUIUIArkUIUI自定義組件的場(chǎng)景中,通常會(huì)遇到需要?jiǎng)討B(tài)傳入不同的UI元素的情況,為了滿足該場(chǎng)景ArkUI框架同時(shí)提供了動(dòng)態(tài)構(gòu)建UI元素的能力。@Builder:可通過@Builder裝飾器進(jìn)行描述,該裝飾器可以修飾一個(gè)函數(shù),此函數(shù)可以在build()函數(shù)之外聲明,并在build()函數(shù)中或其他@Builder修飾的@Style:聲明式范式為了避免開發(fā)者對(duì)重復(fù)樣式的設(shè)置,通過@Styles裝飾器可以將多條樣式設(shè)置提煉成一個(gè)方法,直接在組件聲明的位置使用。@Styles裝飾器將Text、Column、Button@Styles支持通用屬性。通過@Styles裝飾器可以快速定義并復(fù)用組件的自定義樣式。@Stylesfunction鍵字,組件內(nèi)定義時(shí)不需要添加function關(guān)鍵字。@Extend:為了滿足開發(fā)者拓展原生組件的訴求,提供了@Extend裝飾器,可以數(shù)據(jù)變化驅(qū)動(dòng)動(dòng)畫啟動(dòng),而不再是直接控制動(dòng)畫的播放。UI框架根據(jù)開發(fā)者的配置,自動(dòng)屬性動(dòng)畫:組件的某些通用屬性變化時(shí),可以通過屬性動(dòng)畫實(shí)現(xiàn)漸變效果,提升用animateToArkUI框架提供了很多交互事件,這些事件提供了不同的信息用于處理相關(guān)程序交互邏輯,目前提供了UI組件事件以下幾類事件:比如TextInput輸入框產(chǎn)生的onEditChange輸入文本變更事件,List列表組件產(chǎn)生的onScrollIndex列表項(xiàng)滾動(dòng)事件,這類事件屬于非冒泡事件(非冒泡事件指的UIUIUIif染語(yǔ)法控制UI組件的顯隱狀態(tài),該事件屬于非冒泡事件。ArkUI框架提供兩種2D自定義繪制能力。一種是通過圖形組合的方式,利用布局、絕對(duì)定位和各種圖形進(jìn)行組合實(shí)現(xiàn);另一種是通過繪制API在Canvas畫布上進(jìn)行繪制。應(yīng)用的場(chǎng)景是多樣的,部分場(chǎng)景直接采用UI組件組合無(wú)法滿足訴求,例如游戲、地圖C++SDK的場(chǎng)景,因此需要框架提供一種能夠在C++側(cè)進(jìn)行自定義繪制的組件。ArkUIXComponent組件,支持加載應(yīng)用動(dòng)態(tài)庫(kù)、NAPI跨語(yǔ)言調(diào)用,進(jìn)行C++繪制能力的開發(fā)。鴻蒙生態(tài)構(gòu)建了ArkUI跨平臺(tái)框架的核心設(shè)施,將相應(yīng)的能力擴(kuò)展到iOS和同時(shí)生成多個(gè)OS平臺(tái)的應(yīng)用工程,并可編譯出相應(yīng)的應(yīng)用程序,在相應(yīng)的平臺(tái)上高效的運(yùn)Web使用HML標(biāo)簽文件進(jìn)行布局搭建,使用CSS文件進(jìn)行樣式描述,使用JS文件進(jìn)行邏輯處理。UI組件與數(shù)據(jù)之間通過單向數(shù)據(jù)綁定的方式建立關(guān)聯(lián),當(dāng)數(shù)據(jù)發(fā)生變化時(shí),UI界面自動(dòng)觸發(fā)更新。此種開發(fā)范式,對(duì)Web前端開發(fā)者更為友好。類Web范式的整體接口采用與傳統(tǒng)Web頁(yè)面開發(fā)相似的設(shè)計(jì)理念,采用HML、CSSJSUI數(shù)據(jù)綁定機(jī)制,支持通過JS進(jìn)行數(shù)據(jù)更新,進(jìn)而更新UI。HMLHTML也需要在JS文件中進(jìn)行數(shù)據(jù)的定義,運(yùn)行時(shí)將使用JS文件中提供的數(shù)據(jù)contentCSSCSSHML也可在頁(yè)面CSS樣式文件中對(duì)組件、頁(yè)面自定義不同的樣式。ArkUI開發(fā)框架提供標(biāo)準(zhǔn)CSS語(yǔ)法的核心功能集,滿足應(yīng)用開發(fā)者的訴求。JS語(yǔ)法:在類Web開發(fā)范式中,提供了一系列的全局方法與全局對(duì)象,進(jìn)行數(shù)據(jù)框架后端采用C++開發(fā)語(yǔ)言實(shí)現(xiàn),提升了框架的運(yùn)行性能,使用方舟編譯器運(yùn)行時(shí)作為JS引擎,具有更優(yōu)的JS執(zhí)行性能,同時(shí)還提供了一套完整的包含UI組件、布局機(jī)制、動(dòng)畫能力的渲染框架,通過渲染引擎對(duì)UI元素進(jìn)行繪制。類Web范式實(shí)現(xiàn)層面可以進(jìn)一步部署到輕量化的設(shè)備上。通過輕量化設(shè)計(jì)的思路,將JSFramework下沉到C++層,以減小JS的內(nèi)存占用,使用C++進(jìn)行更為嚴(yán)格的內(nèi)存分配管理,并采用更為輕量的JS引擎,UI部分采用輕量的UIKit并結(jié)合輕量圖形引擎最終實(shí)現(xiàn)百K級(jí)別設(shè)備的支持,從而在輕量化設(shè)備上可執(zhí)行的應(yīng)用,也可以在硬件規(guī)格更高的設(shè)備上執(zhí)行,而無(wú)需重新開發(fā)。這也就是采用類Web開發(fā)范式的優(yōu)勢(shì)所在,采用統(tǒng)一的開發(fā)范式,開發(fā)者無(wú)需關(guān)心具體運(yùn)行時(shí)的前端框架、JS引擎與后端UI組件,系統(tǒng)會(huì)根據(jù)運(yùn)行平臺(tái)不同,采用5-3Web5-4信息熱詞,識(shí)別執(zhí)行模塊將信息熱詞傳遞到語(yǔ)音系統(tǒng)進(jìn)行AI識(shí)別。5-5語(yǔ)音喚醒:語(yǔ)音助手喚醒后,發(fā)送建立連接給前臺(tái)應(yīng)用,應(yīng)用收到請(qǐng)求后啟動(dòng)可視可說(shuō)初始化。分配角標(biāo)(可選):更新角標(biāo)(可選):語(yǔ)音識(shí)別:智慧語(yǔ)音系統(tǒng)根據(jù)用戶語(yǔ)音和界面信息熱詞,識(shí)別出可視可說(shuō)意圖和指令。隱藏角標(biāo):通知應(yīng)用隱藏界面角標(biāo)(隱藏角標(biāo)動(dòng)作也由適配應(yīng)用自己完成)5)應(yīng)用程序框架應(yīng)用程序框架定義了應(yīng)用程序的模型與結(jié)構(gòu)。鴻蒙系統(tǒng)上的應(yīng)用模型稱之為Stage模型”。應(yīng)用程序框架定義了應(yīng)用的全生命周期。鴻蒙系統(tǒng)是一個(gè)支持1+8+N多設(shè)備的統(tǒng)一操作系統(tǒng),其生命周期的管理和定義就更為復(fù)雜且重要。Stage短時(shí)任務(wù):應(yīng)用退到后臺(tái)之后,系統(tǒng)提供了一個(gè)短期的可運(yùn)行時(shí)間,應(yīng)用可以進(jìn)行數(shù)據(jù)保存的操作。超過這個(gè)時(shí)間,任務(wù)將被凍結(jié)。長(zhǎng)時(shí)任務(wù):對(duì)于音樂播放,投屏,導(dǎo)航這類場(chǎng)景,系統(tǒng)提供了長(zhǎng)時(shí)任務(wù)的能力。長(zhǎng)時(shí)任務(wù)的類型是由系統(tǒng)定義的,應(yīng)用應(yīng)當(dāng)根據(jù)實(shí)際需要來(lái)使用,不應(yīng)當(dāng)過度濫用。延時(shí)任務(wù):對(duì)于一些實(shí)時(shí)性要求不高的場(chǎng)景,系統(tǒng)提供了延時(shí)任務(wù)。這種情況下,會(huì)由系統(tǒng)統(tǒng)一周期,對(duì)齊多個(gè)應(yīng)用的任務(wù)激活時(shí)間。托管任務(wù):這類任務(wù)是由系統(tǒng)完成,完成之后再通知到應(yīng)用。例如,下載,提醒和定位這類場(chǎng)景。面向PC邏輯與界面解耦:窗口部分可單獨(dú)銷毀和重建,窗口與應(yīng)用組件可跨設(shè)備運(yùn)行,應(yīng)用組件可在不啟動(dòng)界面的情況下響應(yīng)請(qǐng)求。靈活擴(kuò)展機(jī)制:支持萬(wàn)能卡片、輸入法、快捷開關(guān)、分享、壁紙、長(zhǎng)時(shí)任務(wù)等應(yīng)用開發(fā)。在鴻蒙系統(tǒng)中,Ability是應(yīng)用程序框架中最基本的抽象單位,是能夠完成獨(dú)立功能的應(yīng)用組件。在Stage模型中,Ability分為兩大類:UIAbility:應(yīng)用的主入口,對(duì)應(yīng)桌面上的圖標(biāo)。一個(gè)UIAbility一個(gè)UIAbility中的通常包含多個(gè)ArkUI頁(yè)面。ExtensionAbility:ExtensionAbility有多個(gè)具體的子類型,例如:FormExtension用來(lái)開發(fā)萬(wàn)能卡片,InputMethodExtensionAbility用來(lái)開發(fā)輸入法等。ExtensionAbility正如其名稱那樣,在鴻蒙新的版本,面向不同的設(shè)備,可能會(huì)持Stage5-6:StageHUAEIDevEcoStudioModule,Module進(jìn)行分工。每個(gè)ModuleHAR(HarmonyOSArchive):這是一種中間編譯產(chǎn)物格式,它最終將被編譯合并到HSP或HAP格式的包中??梢砸赃\(yùn)行態(tài)復(fù)用的形式共享。相較于HAR,當(dāng)有多個(gè)HAP包依賴與同一個(gè)HSP時(shí),最終的打包產(chǎn)物中,HSP只會(huì)存在一份。HAP(HarmonyOSAbilityPackage),HAP包是鴻蒙應(yīng)用可單獨(dú)安裝的容器包。HAP備差異較大時(shí)(例如手機(jī)與手表),HAP上架時(shí),通過同一個(gè)App包來(lái)包含多個(gè)HAP包。這樣可以達(dá)到一次開發(fā)上架,多端6)SDKHarmonyOSSDKAPIArkTSArkTSAPI分也是ArkTS語(yǔ)言的。鴻蒙系統(tǒng)提供的API范圍非常全面,包括應(yīng)用服務(wù)、聲明式UI、多媒體、圖形窗口、通訊、安全、Web和AI等諸多能力。鴻蒙系統(tǒng)是分布式操作系統(tǒng),一套SDK可適配多設(shè)備的開發(fā)。開發(fā)者在IDE中創(chuàng)建的工程適配哪些設(shè)備,在工程中就可以使用這些設(shè)備支持的API,而不需要下載多個(gè)SDK。對(duì)于某些設(shè)備不支持的API的情況,開發(fā)者可通過canIUse()函數(shù)判斷。API開發(fā)者更容易理解,在API的元信息上會(huì)標(biāo)記該API可用的最低操作系統(tǒng)版本。有些會(huì)隨著版本的更新而廢棄,為了保證兼容性,廢棄的API會(huì)根據(jù)其重要程度繼續(xù)保留多個(gè)鴻蒙應(yīng)用開發(fā)者可以通過華為開發(fā)者大會(huì)、官方開發(fā)者網(wǎng)站等渠道了解鴻蒙系統(tǒng)的最新版本以及API的更新情況。SDKSDKCArkTSNativeArkTS的擴(kuò)展方式,鴻蒙系統(tǒng)中支持這種開發(fā)方式的C語(yǔ)言接口叫CAPI。CAPI也包含在鴻蒙SDK中,方便開發(fā)者使用C或者C++語(yǔ)言實(shí)現(xiàn)應(yīng)用相應(yīng)功能。CAPI只覆蓋了部分鴻蒙基礎(chǔ)底層能力,如libc,圖形庫(kù),窗口系統(tǒng),多媒體,壓縮庫(kù)ArkTSAPICAPI支持鴻蒙應(yīng)用框架的擴(kuò)展動(dòng)態(tài)庫(kù),通過import語(yǔ)句導(dǎo)入到ArkTS環(huán)境中使用。CAPI用已有的C或C++庫(kù)場(chǎng)景;需要針對(duì)CPU特性進(jìn)行專項(xiàng)定制場(chǎng)景,如neon加速等。CAPI5-1:CAPICC庫(kù)為基礎(chǔ)提供的標(biāo)準(zhǔn)C1500+的CCCArkTSNodeCXComponentsurfaceIOzlib2DsurfaceOpenGLv32D,3D2D3DPurgeable可直接運(yùn)行用戶輸入的SQL語(yǔ)句。MindSporeLite、NeuralNetworkRuntimeN-APIN-APIC/CArkTS對(duì)象的能力,使用類NodeN-API口命名。開發(fā)者使用C/C++開發(fā)業(yè)務(wù),通過N-API接口實(shí)現(xiàn)跨語(yǔ)言調(diào)用,方便開發(fā)者使用高性能C語(yǔ)言能力。開發(fā)者開發(fā)一個(gè)C/C++的ArkTS擴(kuò)展庫(kù)后,在ArkTS側(cè)可以通過import引入這個(gè)擴(kuò)展庫(kù)。傳統(tǒng)的JS程序開發(fā)中,應(yīng)用程序往往帶的是經(jīng)過前端打包工具處理過的JSbundle文IoT解析源代碼,編譯成方舟運(yùn)行時(shí)能夠理解的二進(jìn)制字節(jié)碼格式(ABCByteCode),JS5-7JS5-8配置解析:解析IDE工程中的配置文件,解析程序組件,入口組件,組件包名,代importUIUIABC應(yīng)用打包:獲取應(yīng)用的資源,ABC字節(jié)碼文件,應(yīng)用配置文件等,使用用戶簽名進(jìn)前端編譯器負(fù)責(zé)將ArkTS代碼編譯成方舟字節(jié)碼ABC,鴻蒙生態(tài)應(yīng)用編譯流程中,分bundleesmodule理上,bundle編譯把各個(gè)有依賴關(guān)系的源代碼通過打包方式打成一個(gè)bundle文件,然后ABCesmoduleArkTS變,通過前端編譯器編譯成ABC字節(jié)碼文件,字節(jié)碼文件內(nèi)保留各個(gè)模塊的代碼段,依賴關(guān)系等信息;當(dāng)前推薦開發(fā)者使用esmodule模式,保持模塊語(yǔ)義。數(shù)據(jù)生成到字節(jié)碼ABC文件中。5-9解析:前端編譯器讀取ArkTS源碼,進(jìn)行詞法,語(yǔ)法解析,輸出抽象語(yǔ)法樹編譯:根據(jù)抽象語(yǔ)法樹,生成對(duì)應(yīng)的中間表示輸出:收集IRABC優(yōu)化:讀取ABC文件中的字節(jié)碼信息,生成IR表示,進(jìn)行優(yōu)化處理,重新生成更7)集成開發(fā)環(huán)境HUAWEIDevEcoStudio是面向鴻蒙生態(tài)的集成開發(fā)環(huán)境,提供了一站式的鴻蒙生態(tài)5-10:HUAWEIDevEcoStudio學(xué)習(xí)了解鴻蒙API的用法:工程向?qū)В洪_發(fā)者基于模板,方便地創(chuàng)建出工程(Project),應(yīng)用模塊(Module),庫(kù)模塊(Library),Ability,萬(wàn)能卡片(ServiceWidget)等開發(fā)鴻蒙視圖:通過鴻蒙視圖,可以過濾掉應(yīng)用開發(fā)中無(wú)需特別關(guān)注的文件,如工具自動(dòng)生成的文件,聚焦鴻蒙開發(fā)的代碼文件及配置文件。SDKHUAWEIDevEcoStudioSDK,SDK少的SDK并下載。HUAWEIDevEcoStudio可以檢測(cè)到新版本并更新。開發(fā)者也可以通過模板市場(chǎng)分享自己開樣例導(dǎo)入:樣例提供了常用鴻蒙API的使用指導(dǎo),開發(fā)者可以將樣例工程導(dǎo)入到HUAWEIDevEcoStudioAPIArkTSArkUIHUAWEIDevEcoStudio寫代碼,實(shí)時(shí)地糾正代碼錯(cuò)誤。相較于傳統(tǒng)的代碼編輯,HUAWEIDevEcoStudio還結(jié)合DevEcoStudio重新運(yùn)行,才能查看到界面的呈現(xiàn)效果,整個(gè)過程冗長(zhǎng),產(chǎn)生極大的時(shí)間浪費(fèi)。HUAWEIDevEcoStudio5-11UI卡片預(yù)覽:可查看多種卡片規(guī)格、多種卡片尺寸(最小/標(biāo)準(zhǔn)/最大)組件預(yù)覽:可獨(dú)立查看組件的呈現(xiàn)效果,支持開發(fā)者注入組件參數(shù),靈活查看組件在不同上下文中的預(yù)覽效果。自定義預(yù)覽profile:預(yù)覽profile是設(shè)備顯示能力的抽象定義,典型的profile信息有設(shè)備名稱、設(shè)備類型、屏幕分辨率、屏幕密度、語(yǔ)言、亮暗模式、橫豎屏狀態(tài)等。通過自定義預(yù)覽profile,UIUIUIHUAWEIDevEcoHvigor是一款華為自研輕量級(jí)編譯構(gòu)建工具,將編譯操作進(jìn)行任務(wù)C/C++等)、多種文件(低代碼描述文件、資源文件等)的快速編譯,最終生成HAP/App包。此外,Hvigor還具備以下特點(diǎn):精確增量檢查,高度復(fù)用往次構(gòu)建產(chǎn)物,縮短編譯時(shí)長(zhǎng);最優(yōu)化編排任務(wù)序列,異靈活擴(kuò)展:支持開發(fā)者自定義編寫構(gòu)建任務(wù),匹配自身業(yè)務(wù)需求,擴(kuò)展編譯構(gòu)建流程。獨(dú)立運(yùn)行:擁有完善的命令行工具,兼?zhèn)淞己玫目缙脚_(tái)能力,可以脫離HUAWEIDevEcoStudioWindows、Mac、Linux可視化分析:提供構(gòu)建全流程任務(wù)耗時(shí)數(shù)據(jù)展示能力,展示任務(wù)時(shí)長(zhǎng)、任務(wù)線程、日志、歷史記錄等。點(diǎn)擊任務(wù)即可以可視化的形式展示構(gòu)建過程,幫助開發(fā)者進(jìn)行構(gòu)建瓶頸優(yōu)化。分析,快速定位代碼缺陷。HUAWEIDevEcoStudio提供了常用的代碼調(diào)試功能,如設(shè)置斷點(diǎn)(普通斷點(diǎn)、條件斷點(diǎn)、異常斷點(diǎn)、符號(hào)斷點(diǎn)等)、斷點(diǎn)跳轉(zhuǎn)(Step跨語(yǔ)言調(diào)試:支持ArkTS和C/C++兩種語(yǔ)言同時(shí)調(diào)試,并支持?jǐn)帱c(diǎn)從ArkTS語(yǔ)言C/C++語(yǔ)言;提供統(tǒng)一的調(diào)試堆棧,便于快速查閱兩種語(yǔ)言代碼的HotReload:修改代碼后,無(wú)需重新創(chuàng)建調(diào)試會(huì)話和啟動(dòng)鴻蒙生態(tài)應(yīng)用、元服務(wù),ArkUIInspector:支持顯示視圖的布局及組件關(guān)系,查看組件屬性列表,過濾組件及屬性,用于定位真機(jī)上的UI顯示問題。反向調(diào)試:支持通過反向單步,反向continue能數(shù)據(jù)進(jìn)行綜合分析。為了降低性能調(diào)優(yōu)技術(shù)難度,HUAWEIDevEcoStudio推出了場(chǎng)景化調(diào)優(yōu)工具DevEcoProfiler,提供以下關(guān)鍵能力:自動(dòng)采集相應(yīng)維度性能數(shù)據(jù)。常用場(chǎng)景化調(diào)優(yōu)模板如表5-2所示。5-2TimeCPU代碼段,用于分析卡頓、CPU占用高、運(yùn)行速度慢等問題。AllocationsCPUCPU分析模板:錄制CPU調(diào)度事件、線程運(yùn)行狀態(tài)、CPU核頻率、TraceEnergyLaunchFrameRenderServiceSnapshotArkTS快照方式對(duì)比ArkTS對(duì)象分布區(qū)別,用于分析內(nèi)存泄漏問題。HUAWEIDevEcoStudio提供了設(shè)備模擬的能力,解決鴻蒙生態(tài)應(yīng)用、元服務(wù)開發(fā)過豐富的器件模擬:提供了多終端常用器件、外設(shè)、傳感器的模擬,包括電池、WLN、移動(dòng)網(wǎng)絡(luò)、S、Caea、陀螺儀、心率等,支持開發(fā)者調(diào)用模擬器件的能力,進(jìn)行特定功能的開發(fā)。場(chǎng)景化數(shù)據(jù)注入:通過場(chǎng)景化的數(shù)據(jù)注入能力,開發(fā)者能快速模擬一些常見的設(shè)備GPS導(dǎo)航、戶外跑步運(yùn)動(dòng)等場(chǎng)景。HUAWEIDevEcoStudioSDK、sdkmgr:查看、安裝和卸載HarmonyOSSDKhdcbytrace:對(duì)內(nèi)核ftrace進(jìn)行了封裝和擴(kuò)展,配合應(yīng)用打點(diǎn),追蹤進(jìn)程軌跡,分析HUAWEIDevEcoStudio在傳統(tǒng)的“端開發(fā)”基礎(chǔ)上新增了“云開發(fā)”能力,支持開5-12UIServerless:為鴻蒙生態(tài)應(yīng)用、元服務(wù)的云側(cè)服務(wù)提供Serverless化托管服務(wù),具8)測(cè)試工具5-13DevEcoTestingHypium單元測(cè)試框架可以在真機(jī)或者模擬器上運(yùn)行。單元測(cè)試框架5-14DevEcoTestinghypium語(yǔ)法統(tǒng)一:使用聲明式或者類Web10KBROMUIAPI動(dòng)化測(cè)試腳本。UI測(cè)試框架的整體結(jié)構(gòu)圖如下圖:5-15:UI整個(gè)測(cè)試框架組主要分為兩個(gè)部分,一部分是uitest-api,UI場(chǎng)景的API,另外一部分是uitest-deamon,是UI件樹獲取、解析、查找、操作能力。uitest-apiDriver、On和Component,5-3:uitest-apiUI等),UiDriver根據(jù)On描述控件特征查找控件。DevEcoTestingSmartPerf提供一套完整的應(yīng)用測(cè)試和調(diào)優(yōu)工具,為應(yīng)用開發(fā)者提供5-16:SmartPerfSmartPerf-Device:支持設(shè)備側(cè)FPS、功耗、熱、Soc信息的實(shí)時(shí)采集、實(shí)時(shí)展示SmartPerf-Editor:獨(dú)立的PCtrace5-4:SmartPerfCPUCPUCPUNativememoryIOFileSystem,BIOtraceSQLPowerRAM、FPSUIcsvtraceTraceTaskIDDevEcoTestingwukongUI穩(wěn)定性問題。支持隨機(jī)壓測(cè)、控件順序遍歷、事件錄制回放等測(cè)試能力,wukong5-17:wukongwukongmgrcontrollerdfxfaultlograndomDFXHDChdcexecspecial5-18PC事件識(shí)別&智能定位:多個(gè)設(shè)備通過USB同步時(shí)鐘,按時(shí)間順序處理監(jiān)聽到的設(shè)備作,生成對(duì)應(yīng)的DSL操作描述。生成腳本:解析DSL描述,生成對(duì)應(yīng)腳本,通過自主編輯增加檢查點(diǎn),就形成了完專項(xiàng)測(cè)試是應(yīng)用/服務(wù)的多維度測(cè)試,包括全方位的質(zhì)量體檢,同時(shí)也提供性能、功耗、HUAWEIDevEcoStudio設(shè)計(jì)約束:代碼實(shí)現(xiàn)需要遵循的設(shè)計(jì)約束和規(guī)范,比如:App中必須明確支持的設(shè)DevEcoesg人工干預(yù),自動(dòng)完成應(yīng)用/服務(wù)的測(cè)試。專項(xiàng)測(cè)試報(bào)告可以幫助開發(fā)者提前識(shí)別和定位問題,為消費(fèi)者帶來(lái)更佳的使用體驗(yàn)。DevEcoTesting專項(xiàng)測(cè)試服務(wù)提供了多設(shè)備環(huán)境,可用于“一次開發(fā),多端部能測(cè)試、功耗測(cè)試、UX測(cè)試??蓹z測(cè)應(yīng)用或服務(wù)從安裝、啟動(dòng)、運(yùn)行、卸載全生命周期的問題,如應(yīng)用崩潰、凍屏、啟動(dòng)響應(yīng)耗時(shí)長(zhǎng)、前后臺(tái)內(nèi)存/CPUChapterHUAWEIAppGalleryConnect6-11)快速上架HUAWEIAppGalleryConnectProvisionProfile6-2開發(fā)者生成自己的公私鑰對(duì)(KeyStore),并且使用IDE生成軟件證書請(qǐng)求文件的ProvisionProfile。開發(fā)者使用ProvisionProfileHUAWEIAppGalleryConnectHUAWEIAppGalleryConnect開發(fā)者開發(fā)完成之后,上傳包體、描述信息、素材等,提交上架審核。也可委托6-3應(yīng)用管理:提供應(yīng)用的基本信息管理,支持配置全球化名稱,管理圖標(biāo)、截圖、描上架檢測(cè):支持對(duì)應(yīng)用進(jìn)行基礎(chǔ)信息檢測(cè),包括API、包名、簽名、資源等,以及對(duì)SDK接入情況進(jìn)行檢查。為了給用戶提供更安全且出色的體驗(yàn),HUAWEIAppGalleryConnect6-16-2通過AI技術(shù),識(shí)別圖片、描述、文本等信息,自動(dòng)檢測(cè)內(nèi)容是2)應(yīng)用分發(fā)HUAWEIAppGalleryConnect6-46-5OSAPILevel開發(fā)者上架應(yīng)用之后,HUAWEIAppGallery會(huì)根據(jù)不同的分發(fā)場(chǎng)景,選擇最優(yōu)的分發(fā)bugHUAWEIAppGallery提供代HUAWEIAppGallery構(gòu)建了搜索、推薦、推廣三大引擎,從海量數(shù)據(jù)中構(gòu)建豐富的畫像和知識(shí)圖譜,基于AI能力實(shí)現(xiàn)精準(zhǔn)送達(dá)。6-33)服務(wù)分發(fā)鴻蒙系統(tǒng)作為萬(wàn)物互聯(lián)時(shí)代泛終端服務(wù)的載體,面向跨設(shè)備多終端環(huán)境,實(shí)現(xiàn)“服務(wù)AI發(fā)包括設(shè)備入口、系統(tǒng)入口、應(yīng)用入口,場(chǎng)景化分發(fā)是系統(tǒng)在理解用戶的基礎(chǔ)上,結(jié)合用戶快捷的服務(wù)觸發(fā),用戶將面臨信息過載和獲取服務(wù)時(shí)間成本過大的困擾。AI的“感知”、“理解”、“推理&決策”等能力,能有效解決用戶查找服務(wù)不方便及選擇困難問題。智慧感知層:精確感知用戶場(chǎng)景,是服務(wù)智能分發(fā)的基礎(chǔ)。根據(jù)多個(gè)終端的硬件傳感信知識(shí)與理解層:知識(shí)與理解層是智能分發(fā)決策的重要依據(jù),圍繞核心場(chǎng)景,持續(xù)構(gòu)建、學(xué)習(xí)、豐富知識(shí),并基于全面感知與知識(shí)增強(qiáng),精準(zhǔn)理解用戶意圖。感知數(shù)據(jù)結(jié)合用戶的行為習(xí)慣,輔以知識(shí)圖譜提供的結(jié)構(gòu)化數(shù)據(jù)作為輸入,通過對(duì)用戶、場(chǎng)景建模以及U發(fā)者可以選擇服務(wù)分類和標(biāo)簽,通過服務(wù)分類、標(biāo)簽和智能理解,系統(tǒng)可以將元服務(wù)與統(tǒng)一全局意圖進(jìn)行關(guān)聯(lián)。推理&決策層:依托豐富的服務(wù)生態(tài),完備的知識(shí)儲(chǔ)備,學(xué)習(xí)型AI模型實(shí)現(xiàn)精準(zhǔn)推召回的服務(wù)進(jìn)行排序,并將top服務(wù)展示給用戶。6-6AIChapter隨著個(gè)人設(shè)備數(shù)量越來(lái)越多,跨多個(gè)設(shè)備間的交互將成為常態(tài)?;趥鹘y(tǒng)OS開發(fā)跨設(shè)互補(bǔ)性:利用設(shè)備的本身形態(tài)差異,完成一項(xiàng)任務(wù)。例如,當(dāng)用戶在家里找不到電7-11)價(jià)值與架構(gòu)定義自由流轉(zhuǎn)提供了應(yīng)用跨設(shè)備流轉(zhuǎn)的能力。應(yīng)用開發(fā)只需遵循框架并適配指定的API,自由流轉(zhuǎn)框架實(shí)現(xiàn)了流轉(zhuǎn)過程,包括流轉(zhuǎn)任務(wù)發(fā)布、應(yīng)用免安裝、數(shù)據(jù)序列化、兼容性判斷等。應(yīng)用開發(fā)只需關(guān)注在業(yè)務(wù)數(shù)據(jù)本身的同步與恢復(fù),簡(jiǎn)化了應(yīng)用的處理邏輯,降低了應(yīng)用開發(fā)跨端特性的復(fù)雜度。

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論