萬(wàn)物互聯(lián)時(shí)代,應(yīng)用的設(shè)備底座將從幾十億手機(jī)擴(kuò)展到數(shù)百億設(shè)備。全新的全場(chǎng)景設(shè)備體驗(yàn),正深入改變消費(fèi)者的使用習(xí)慣, 同時(shí)應(yīng)用開發(fā)者也面臨設(shè)備底座從手機(jī)單設(shè)備到全場(chǎng)景多設(shè)備的轉(zhuǎn)變,通過(guò)全場(chǎng)景多設(shè)備作為全新的底座,為消費(fèi)者帶來(lái)萬(wàn)物互聯(lián)時(shí)代更為高效澝便捷的體驗(yàn)。新的場(chǎng)景同時(shí)也帶來(lái)了新的挑戰(zhàn)澞開發(fā)者不僅要支持更加多樣化的設(shè)備,還要支持跨設(shè)備的協(xié)作。不同設(shè)備類型意味著不同的傳感器能力、硬件能力、屏幕尺寸、操作系統(tǒng)和開發(fā)語(yǔ)言,還意味著差異化的交互方式。同時(shí)跨設(shè)備協(xié)作也讓開發(fā)者面臨分布式開發(fā)帶來(lái)的各種復(fù)雜性,例如跨設(shè)備的網(wǎng)絡(luò)通信、數(shù)據(jù)同步等。若采取傳統(tǒng)開發(fā)模式,適配和管理工作量將非常巨大。當(dāng)前移動(dòng)應(yīng)用開發(fā)中遇到的主要挑戰(zhàn)包括:
- 針對(duì)不同設(shè)備上的不同操作系統(tǒng),重復(fù)開發(fā),維護(hù)多套版本;
- 多種語(yǔ)言棧,對(duì)人員技能要求高;
- 多種開發(fā)框架,不同的編程范式;
- 命令式編程,需關(guān)注細(xì)節(jié),變更頻繁,維護(hù)成本高。
為了更好的抓住機(jī)遇,應(yīng)對(duì)萬(wàn)物互聯(lián)所帶來(lái)的系列挑戰(zhàn),新的應(yīng)用生態(tài)應(yīng)該具備如下特征:
- 單一設(shè)備延伸到多設(shè)備:應(yīng)用一次開發(fā)就能在多個(gè)設(shè)備上運(yùn)行,軟件實(shí)體能夠從單一設(shè)備轉(zhuǎn)移到其他設(shè)備上,且多個(gè)設(shè)備間能夠協(xié)同運(yùn)行,給消費(fèi)者提供全新的分布式體驗(yàn);
- 厚重應(yīng)用模式到輕量化服務(wù)模式:提供輕量化的服務(wù),最小化資源消耗,一步直達(dá), 快速完成消費(fèi)者特定場(chǎng)景的任務(wù);
- 集中化分發(fā)到 AI 加持下的智慧分發(fā):為消費(fèi)者提供智慧場(chǎng)景服務(wù),實(shí)現(xiàn)“服務(wù)找人”;
- 純軟件到軟硬芯協(xié)同的 AI 能力:提供軟硬芯協(xié)同優(yōu)化的原生 AI 能力,全面滿足應(yīng)用戶高性能訴求;
以上就是鴻蒙生態(tài)應(yīng)用開發(fā)白皮書里萬(wàn)物互聯(lián)時(shí)代應(yīng)用開發(fā)的機(jī)遇、挑戰(zhàn)和趨勢(shì)章節(jié)里的描述,代表了鴻蒙人的思考和出發(fā)點(diǎn),接下來(lái)我們就簡(jiǎn)單解讀下這些挑戰(zhàn)和趨勢(shì)是什么?
簡(jiǎn)單解讀
具體挑戰(zhàn)是什么?
- 移動(dòng)端我們有android,ios兩種主流操作系統(tǒng),開發(fā)語(yǔ)言,接口,所有技術(shù)細(xì)節(jié)都不一樣,找兩者都會(huì)的工程師難,那應(yīng)用廠商若是要做APP跑不同設(shè)備上就得用兩套班子,人力成本大;第二,android,ios分裂產(chǎn)品形態(tài)多,手表,PAD,手機(jī),車機(jī),電視,PC,未來(lái)可能更多,那同理對(duì)APP開發(fā)維護(hù)就是更大的挑戰(zhàn),不同的交互,不同的UI,不同版本,不同團(tuán)隊(duì),如何保證產(chǎn)品一致,穩(wěn)定,同步,體驗(yàn),挑戰(zhàn)巨大;第三再設(shè)想下未來(lái),音箱,燈光,空調(diào),冰箱,甚至是廣告牌,監(jiān)視器,攝像頭,無(wú)人機(jī),機(jī)器人所有的聯(lián)網(wǎng)智能設(shè)備,這種面向未來(lái)的開發(fā)我們要做什么準(zhǔn)備?
下面我們就對(duì)這三進(jìn)行具體分解,也就是上段所指的具體特征:
在應(yīng)用開發(fā)側(cè)
- 對(duì)應(yīng)用開發(fā)者,最直接的問(wèn)題就是UI問(wèn)題,如布局,樣式,交互等,這個(gè)其實(shí)大家都有方案,比如說(shuō)自適應(yīng)布局,當(dāng)外部容器大小發(fā)生變化時(shí),元素可以根據(jù)相對(duì)關(guān)系自動(dòng)變化以適應(yīng)外部容器變化的布局能力。相對(duì)關(guān)系如占比、固定寬高比、顯示優(yōu)先級(jí)等。當(dāng)前自適應(yīng)布局有4種:[ 線性布局]、[ 層疊布局]、[ 彈性布局]、[ 相對(duì)布局]。自適應(yīng)布局能力可以實(shí)現(xiàn)界面顯示隨外部容器大小連續(xù)變化;響應(yīng)式布局,當(dāng)外部容器大小發(fā)生變化時(shí),元素可以根據(jù)斷點(diǎn)、柵格或特定的特征(如屏幕方向、窗口寬高等)自動(dòng)變化以適應(yīng)外部容器變化的布局能力。當(dāng)前響應(yīng)式布局能力有2種:[ 媒體查詢]、[ 柵格布局]。這部分基于華為豐富應(yīng)用場(chǎng)景的支撐,以及對(duì)內(nèi)容的深入理解,使用過(guò)程中大家應(yīng)該能發(fā)現(xiàn)有些空間更智能,更好用;
- 對(duì)應(yīng)用模型來(lái)說(shuō),原來(lái)android和ios上的原生應(yīng)用都是厚重的,現(xiàn)在有些應(yīng)用幾個(gè)G,10幾個(gè)G都有,平均尺寸也有幾百兆,而鴻蒙化的HAP則提出了新的設(shè)計(jì)方式,HarmonyOS的用戶應(yīng)用程序包以APPPack (Application Package)形式發(fā)布,它是由一個(gè)或多個(gè) HAP (HarmonyOS Ability Package)以及描述每個(gè)HAP屬性的pack.info組成。HAP是[ Ability]的部署包,HarmonyOS應(yīng)用代碼圍繞Ability組件展開。HAR(HarmonyOS Ability Resources)可以提供構(gòu)建應(yīng)用所需的所有內(nèi)容,包括源代碼、資源文件和config.json文件。HAR不同于HAP,HAR不能獨(dú)立安裝運(yùn)行在設(shè)備上,只能作為應(yīng)用模塊的依賴項(xiàng)被引用。HSP(HarmonyOS Shared Package):這是一種新增的編譯產(chǎn)物。HSP 使得模塊可以以運(yùn)行態(tài)復(fù)用的形式共享。相較于 HAR,當(dāng)有多個(gè) HAP 包依賴于同一個(gè) HSP時(shí),最終的打包產(chǎn)物中,HSP 只會(huì)存在一份。除了這三種應(yīng)用包的格式,為了應(yīng)用輕量化,HarmonyOS提出元服務(wù)概念,什么意思?簡(jiǎn)單類比就是小程序,形式還是HAP的形式,但是用卡片方式展現(xiàn),歸應(yīng)用程序框架管理,入口多,易被喚出。最后,應(yīng)用還分出各種Ability,這是應(yīng)用程序框架中最基本的抽象單位,代表最小的應(yīng)用功能單元。在現(xiàn)在主推的Stage模型中,Ability也分兩大類:
以上這兩點(diǎn)就是從功能和形式上解決了適配不同屏的問(wèn)題,解決了應(yīng)用大的問(wèn)題,也解決了應(yīng)用形態(tài)的問(wèn)題,Ability的提出跟解決了界面和功能的問(wèn)題。鴻蒙運(yùn)用了解構(gòu)的方式把大問(wèn)題拆解成立一些小問(wèn)題,然后加以實(shí)現(xiàn)和演進(jìn)。當(dāng)然這后面還包括工程、上架,這部分說(shuō)起來(lái)就是另外一塊事情了,我們今天就不再深入分析。簡(jiǎn)答分析下場(chǎng)景:
- 模式 1:應(yīng)用或服務(wù)的 UI 自適應(yīng)不同尺寸的設(shè)備屏幕,并且在不同設(shè)備的功能相同,可以實(shí)現(xiàn)多設(shè)備共享一個(gè) HAP 包。這種場(chǎng)景下建議開發(fā)者通過(guò)一個(gè)模塊來(lái)開發(fā),并配置該模塊支持多設(shè)備,然后再編譯構(gòu)建生成一個(gè) HAP,分發(fā)到不同類型的設(shè)備上運(yùn)行。
- 模式 2:應(yīng)用或服務(wù)的 UI、功能在不同設(shè)備間存在差異,無(wú)法實(shí)現(xiàn) HAP 包多設(shè)備歸一。可根據(jù)實(shí)際情況設(shè)置不同模塊適用的設(shè)備類型,編譯構(gòu)建多個(gè) HAP 包,一起上架。HUAWEI AppGallery Connect 會(huì)自動(dòng)提取 HAP 中的設(shè)備類型的配置信息,為對(duì)應(yīng)的設(shè)備自動(dòng)分發(fā)正確的 HAP 包組合。
在系統(tǒng)開發(fā)側(cè)
- 事件歸一抽象:不同設(shè)備間的交互方式等存在差異,如觸摸、鍵盤、鼠標(biāo)、語(yǔ)音、手寫筆等,鴻蒙系統(tǒng)將不同設(shè)備的輸入映射成歸一交互事件,從而簡(jiǎn)化開發(fā)者適配邏輯。以縮放交互為例,通過(guò)多指觸控的張合來(lái)完成縮放動(dòng)作,在多設(shè)備場(chǎng)景下,縮放交互會(huì)出現(xiàn)多種不同的操作輸入方式,比如手表就是表冠旋轉(zhuǎn),鼠標(biāo)就是滾輪。
- 組件歸一響應(yīng):當(dāng)應(yīng)用部署在不同設(shè)備上供用戶使用時(shí),需要支持多種 I/O 設(shè)備,界面呈現(xiàn)出相應(yīng)的狀態(tài)為用戶提供正確的視覺(jué)引導(dǎo)。例如觸摸時(shí)顯示按壓狀態(tài),鼠標(biāo)特有的懸停狀態(tài),鍵盤走焦?fàn)顟B(tài)。渇蒙系統(tǒng)默認(rèn)提供多種交互方式的組件實(shí)現(xiàn),方便開發(fā)者支持多種輸入方式。
- 設(shè)備能力抽象:不同設(shè)備間的軟、硬件能力等存在差異,如設(shè)備是否具備定位能力、是否具備攝像頭、
是否具備藍(lán)牙功能等,鴻蒙系統(tǒng)需要對(duì)設(shè)備能力進(jìn)行邏輯抽象,并提供接口來(lái)查詢?cè)O(shè)備是否支持某種能力,方便開發(fā)者進(jìn)行不同軟、硬件能力的功能適配。在鴻蒙系統(tǒng)中,使用SystemCapability(簡(jiǎn)寫為 SysCap)定義每個(gè)部件對(duì)應(yīng)用開發(fā)者提供的系統(tǒng)軟硬件能力。應(yīng)用開發(fā)者基于統(tǒng)一的方式訪問(wèn)不同設(shè)備的能力。 - 元服務(wù)開發(fā):元服務(wù)是鴻蒙系統(tǒng)提供的一種全新的應(yīng)用形態(tài),具有獨(dú)立入口,用戶可通過(guò)點(diǎn)擊、碰一碰、掃一掃等方式直接觸發(fā),無(wú)需顯式安裝,由程序框架后臺(tái)靜默安裝后即可使用,可為用戶提供便捷服務(wù)。元服務(wù)入口多,在服務(wù)中心可見(jiàn),也能通過(guò)語(yǔ)音,NFC,攝像頭等聯(lián)動(dòng)喚入,然后可以用戶無(wú)感安裝和卸載,即用即走;元服務(wù)還支持流轉(zhuǎn),通過(guò)分布式軟總線的加持,元服務(wù)支持跨端遷移(將軟件實(shí)體從一個(gè)設(shè)備轉(zhuǎn)移到另一個(gè)設(shè)備,比如手機(jī)視頻遷移到智慧屏)或多設(shè)備協(xié)同(多個(gè)物理設(shè)備上的軟件共同完成一件事情,比如電視投屏+手機(jī)遙控,但是這個(gè)細(xì)分也好幾種,比如顯示協(xié)同,不同大屏和小屏顯示不同東西;交互協(xié)同,手機(jī)輸入,智慧屏顯示;算力協(xié)同)。
系統(tǒng)側(cè)開發(fā)想盡辦法提供一站式解決方案,抽象輸入,抽象交互,抽象數(shù)據(jù),抽象硬件,無(wú)線壓縮所有的可見(jiàn)路徑,讓應(yīng)用只聚焦業(yè)務(wù)。所以這部分對(duì)應(yīng)用開發(fā)者來(lái)說(shuō)就是統(tǒng)一接口,統(tǒng)一工程,統(tǒng)一規(guī)范;對(duì)系統(tǒng)開發(fā)者來(lái)說(shuō)就是一個(gè)足夠具象的微服務(wù)森林,沒(méi)一個(gè)端到端的功能都需要仔細(xì)梳理并有彈性和生命力。系統(tǒng)側(cè)其實(shí)做了太多的工作,軟總線,分布式,ArkUI,應(yīng)用管理,SA化,大量的細(xì)化,解耦工作才能使得應(yīng)用即服務(wù)這樣的能力在系統(tǒng)層生根發(fā)芽。這部分說(shuō)起來(lái)簡(jiǎn)單,管理起來(lái)那正是千頭萬(wàn)緒,而且隨著接入硬件形態(tài)的不斷增加、復(fù)雜,如何做兼容性,如何保證體驗(yàn),如何減低整個(gè)系統(tǒng)的可維護(hù)性,才是最大的挑戰(zhàn)??梢钥闯鰜?lái),鴻蒙覆蓋千行百業(yè)的決心和勇氣,也可以預(yù)見(jiàn)系統(tǒng)的龐雜和勃勃生機(jī)。接入廠商的增多,鴻蒙原生應(yīng)用的增多,希望大家能碰撞出更多的、更實(shí)用的場(chǎng)景和一多能力。
審核編輯 黃宇
-
鴻蒙
+關(guān)注
關(guān)注
57文章
2303瀏覽量
42693 -
HarmonyOS
+關(guān)注
關(guān)注
79文章
1966瀏覽量
29962
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論