HarmonyOS發(fā)布會(huì)和OpenHarmony 2.0快評(píng)
51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)
背景
OpenHarmony與2021年6月2號(hào)開源,第一時(shí)間下載了代碼,做了一些分析。晚上Harmony OS 2.0發(fā)布,看了直播,感覺很激動(dòng)。
今天一大早起來寫一些感受。主要是匯總了OpenHarmony2.0和HarmonyOS發(fā)布會(huì)一些我比較感興趣的東西。
OpenHarmony 2.0的初步情況
此次開源的版本就叫OpenHarmony 2.0。以后也不再區(qū)分L2,L3,L4這樣的。該版本可在所有大小設(shè)備上使用。
此次開源沒有java程序的支持,也就是不支持Android。沒有android的東西,也不支持java應(yīng)用。
下圖是代碼文件夾
第一時(shí)間對(duì)代碼量進(jìn)行了統(tǒng)計(jì)。我算的比較粗,用得統(tǒng)計(jì)軟件也是我十年前寫《深入理解Android》幾本書時(shí)用的了(有朋友知道好使的代碼統(tǒng)計(jì)軟件不妨推薦下)
不含kernel、third_party(包括device/hisilicon/third_party也挪出去),所有我認(rèn)識(shí)的源碼文件共包含有效代碼行數(shù)1912976,接近200w行。
而歸屬third_party+device/hisilicon/third_party的代碼行數(shù)為7607742(不考慮Html/html)
所以, 1912976 /9520718=20%。鴻蒙自己開發(fā)的代碼占全部源代碼的20%。不要小看這個(gè),按之前的網(wǎng)上說法,AOSP里谷歌寫的代碼才占了15%。
當(dāng)然,以上代碼總量沒計(jì)算Linux Kernel,那玩意光自己就有近1300多萬行代碼。后續(xù)我還會(huì)對(duì)OpenHarmony代碼做些介紹,敬請(qǐng)期待。
Codelab里的分布式場(chǎng)景介紹
華為開發(fā)者官網(wǎng)里開源了二十多個(gè)Demo,我們第一時(shí)間整理了其中和分布式有關(guān)的Demo如下:
所有Demo入口地址在:https://developer.huawei.com/consumer/cn/codelabsPortal/index。
以上總結(jié)可供老板,做決策的領(lǐng)導(dǎo),想方案的產(chǎn)品經(jīng)理看。😜
HarmonyOS 2.0發(fā)布會(huì)中一些有意思的信息
接下來說Harmony OS 2.0發(fā)布會(huì)。頭天晚上看完后,第二天又看了回看,把一些細(xì)節(jié)給摸清楚了。
超級(jí)終端,分布式等
- 全棧解耦:一套代碼,滿足各種硬件要求。這一條在這部分提得很少,后面講鴻蒙桌面的時(shí)候提得多
- 設(shè)備互聯(lián):基于軟總線技術(shù)。場(chǎng)景有:多機(jī)位模式:一個(gè)手機(jī)可以看多個(gè)攝像頭
協(xié)同辦公:手機(jī),平板,PC協(xié)同
- 統(tǒng)一控制中心:所有設(shè)備的控制,狀態(tài)顯示都集中在手機(jī)上,就好像是他們是一臺(tái)設(shè)備一樣。
- 做了一個(gè)統(tǒng)一的UI/UE入口——卡片:方便用戶使用。其使用場(chǎng)景有“可以選擇音樂輸出到任何連接上的耳機(jī),音箱"
- 多設(shè)備構(gòu)成超級(jí)終端:用戶操作體驗(yàn)增強(qiáng):卡片里展示超級(jí)終端,可被連接的設(shè)備懸浮顯示。拖拽即可完成手機(jī)與其他設(shè)備的連接。
- 另外,幾個(gè)設(shè)備協(xié)同是有排斥關(guān)系的。如下面右圖。藍(lán)色是室外音箱,對(duì)角的是室內(nèi)音箱。當(dāng)室內(nèi)音箱被協(xié)同后,室外音箱會(huì)被排除出去。這一點(diǎn)只是想說明,華為考慮得比較周到,它把設(shè)備協(xié)同中出現(xiàn)的設(shè)備之間沖突情況也考慮進(jìn)來。另外,手表,pad,手機(jī)都可以運(yùn)行這個(gè)控制中心。
- 多設(shè)備協(xié)同的一個(gè)有意思的場(chǎng)景是”手機(jī)播放音樂,音箱和手機(jī)協(xié)同后,聲音從音箱出。“
- 還有一個(gè)場(chǎng)景是看視頻:手機(jī)和電視機(jī)協(xié)同后,手機(jī)的視頻轉(zhuǎn)到電視播放。手機(jī)和耳機(jī)協(xié)同后,電視機(jī)聲音從耳機(jī)播放。這里應(yīng)該還是有場(chǎng)景的判斷。手機(jī)是控制,電視機(jī)是播放源。雖然是在手機(jī)上對(duì)耳機(jī)進(jìn)行了協(xié)同,但實(shí)際上是把讓電視機(jī)的聲音轉(zhuǎn)到耳機(jī)去輸出(至少效果是這樣,技術(shù)實(shí)現(xiàn)不清楚是通過手機(jī)中轉(zhuǎn)的音頻數(shù)據(jù)還是耳機(jī)和電視進(jìn)行了藍(lán)牙配對(duì)以及傳輸)。
這里,王博士提到了兩個(gè)關(guān)鍵技術(shù),值得重視:
- 應(yīng)用場(chǎng)景為多設(shè)備間的音畫同步軟時(shí)鐘同步
- 無線傳輸時(shí)的抗干擾算法
接著,介紹了一個(gè)手機(jī)和PAD,以及手機(jī)和PC的協(xié)同,馬上看一下:
- 手機(jī)和pad協(xié)同:pad和手機(jī)協(xié)同后,pad可方便訪問手機(jī)上的照片
- 手機(jī)和PC協(xié)同:手機(jī)變成PC上的一個(gè)盤符。PC需要安裝一個(gè)插件。類似MTP那樣的,只不過改成無線傳輸了
- Harmony Connect:暢聯(lián)。多設(shè)備間的通話,語音,視頻。
- 智能家電:碰一碰配網(wǎng),碰一碰展示設(shè)備的智能功能
鴻蒙桌面
解決一次開發(fā)多端部署的問題?,F(xiàn)在看解決辦法和快應(yīng)用比較像,呈現(xiàn)形式為卡片,不需要安裝(意思是不需要用戶去應(yīng)用市場(chǎng)下載和安裝,是不是類似微信小程序,快應(yīng)用?技術(shù)上不是特別確定,但感覺小程序,卡片這種模式越來越流行了)。
鴻蒙桌面這里提到了兩個(gè)關(guān)鍵技術(shù):
- 分布式編程框架:就是原來提到的分布式軟總線,分布式任務(wù)調(diào)度,分布式數(shù)據(jù)管理等
- 原子化服務(wù):不好描述是什么。但展現(xiàn)形式是卡片
有一個(gè)應(yīng)用場(chǎng)景是跨設(shè)備流轉(zhuǎn):手機(jī)和pad搭配成超級(jí)終端后
- 手機(jī)能看到pad上的任務(wù)。比如下面這樣:
- 手機(jī)上的任務(wù)能拖到pad上去執(zhí)行。示例是把wps從手機(jī)拖到pad。pad上就啟動(dòng)并展示了wps。其展示內(nèi)容和之前在手機(jī)上編輯的一樣。初步技術(shù)判斷:需要app支持,就是把手機(jī)上該app的執(zhí)行的信息。先同步到大屏上對(duì)應(yīng)的app里。期待更多應(yīng)用適配鴻蒙!
其他一些嚇人的技術(shù)
這里就不截圖了,比如全棧優(yōu)化、動(dòng)態(tài)空間管理, 全新自研圖形棧,多設(shè)備協(xié)同驗(yàn)證。這些都是很有價(jià)值的關(guān)鍵點(diǎn)。值得大家關(guān)注。以后代碼要是開源,我們?cè)俚谝粫r(shí)間分析。
哈哈,先寫到這。后續(xù)再貢獻(xiàn)代碼分析,場(chǎng)景介紹等內(nèi)容。
51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)