三分天下有其一,鴻蒙OS全面介紹!
51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)
背景
接觸鴻蒙、華為,開放原子基金會有一年多了,看著這個系統(tǒng)的成長感覺很不錯。有這么多人在努力前行,我們在給朋友,客戶介紹鴻蒙的時候也感覺有強大的支撐力。
這篇文章是我們最近對鴻蒙做了多次深度思考后而總結(jié)的??蛻粲袝r候會提一些問題,比如鴻蒙到底好在哪,鴻蒙和Android的關(guān)系等。這些問題會不斷強化我們們對鴻蒙系統(tǒng)的認識和理解。以下是這些思考的總結(jié)。
鴻蒙OS的愿景
鴻蒙OS不純粹是以技術(shù)或者“擔心卡脖子”原因而出現(xiàn)的,其出現(xiàn)的背后驅(qū)動力是華為在AIoT領(lǐng)域多年耕耘、思索后,發(fā)現(xiàn)Android OS實際上已經(jīng)不完全滿足時代需要,而華為愿意嘗試從OS層面解決當前的一些問題而引發(fā)鴻蒙OS的出現(xiàn)。
AIoT時代,大家已經(jīng)達成的共識和希望是:”隨著個人擁有的智能設(shè)備越來越多,我們希望他們彼此不是孤立的,而是能夠更高效地互相協(xié)同,就像人一樣可以互相溝通交流。讓萬物互聯(lián)真正走進生活,讓N個智能終端成為1個智慧助理。”最常見的場景有:
- 在家里可以通過智能手表判斷用戶入睡后,照明設(shè)備自動關(guān)閉,空調(diào)自動調(diào)節(jié)溫度,營造最佳的睡眠環(huán)境,就像家里隱藏了一位貼心管家一樣。
- 在運動健身時,穿戴設(shè)備與多個運動器械相互聯(lián)接,實時為用戶提供科學(xué)的運動建議和全面的數(shù)據(jù)分析,成為你的私人教練。
而現(xiàn)實情況是,因為當下不同設(shè)備搭載了不同的操作系統(tǒng),所以很難把它們聯(lián)接起來,智能化更無從談起。萬物互聯(lián)的生活需要一個能讓設(shè)備互相溝通交流的統(tǒng)一語言。
從華為的定義來看:
- 傳統(tǒng)的OS是一套軟件定義一個OS,鴻蒙系統(tǒng)試圖用一套軟件定義多個傳統(tǒng)OS + 鴻蒙擴展功能,因此鴻蒙系統(tǒng)具有很強的伸縮性和擴展性。
- 鴻蒙系統(tǒng)是不同設(shè)備的統(tǒng)一語言。它是新一代的智能終端操作系統(tǒng),為不同設(shè)備的智能化、互聯(lián)與協(xié)同提供了統(tǒng)一的語言。
- 鴻蒙系統(tǒng)將從軟件的底層技術(shù)來讓更多的設(shè)備融為一體,讓多個設(shè)備不僅可以連在一起,還可以實現(xiàn)協(xié)同,讓用戶在使用多個設(shè)備時,像使用一個設(shè)備時那樣簡單,從而為消費者帶來更好的體驗。
下圖展示了鴻蒙OS的愿景
為了支撐這個愿景,鴻蒙OS做了很多創(chuàng)新。下文將逐一介紹。
鴻蒙OS設(shè)計理念和關(guān)鍵技術(shù)概覽
鴻蒙OS的三大目標:
- 新設(shè)備可隨時增加,協(xié)同工作
- 跨設(shè)備的交互更自然、流暢
- 場景在設(shè)備間流轉(zhuǎn)、協(xié)同處理
在達成這三個目標后,多設(shè)備在用戶面前就呈現(xiàn)為一個超級終端。鴻蒙OS通過如下幾個關(guān)鍵技術(shù)來支撐這三個目標的實現(xiàn)
簡單來看,以上關(guān)鍵技術(shù)可粗略劃分為:
- 分布式技術(shù),涉及到分布式軟總線,分布式數(shù)據(jù)管理,分布式調(diào)用等。其實就是功能,數(shù)據(jù)在多個設(shè)備間互聯(lián)互通互享。
- 硬件原子化和虛擬化:對硬件能力進行了高度抽象,例如將手機拆解成攝像頭+麥克風(fēng)+揚聲器+輸入屏的組合。然后,對應(yīng)用層暴露的是虛擬硬件(從而屏蔽硬件的物理載體,物理位置上的差異)。如此,手機A的應(yīng)用可以使用車機上的攝像頭。
- 統(tǒng)一的應(yīng)用包格式:使得應(yīng)用開發(fā)者不再需要為單獨的設(shè)備去開發(fā)多個APP,而是一個APP可以安裝在不同設(shè)備上,大大簡化了應(yīng)用開發(fā)的成本。
- 安全和開發(fā)工具:為鴻蒙OS以及應(yīng)用開發(fā)提供安全保障和開發(fā)便利。
鴻蒙OS架構(gòu)
縱向看架構(gòu),正如剛才所說,鴻蒙是多個傳統(tǒng)OS的集合 + 鴻蒙擴展,所有從這個角度去認知鴻蒙系統(tǒng),鴻蒙OS分為:
- 內(nèi)核層:相比Android,鴻蒙OS內(nèi)核支持多種內(nèi)核,例如在富設(shè)備上使用Linux內(nèi)核,而在輕設(shè)備上使用自研的LiteOS,車載儀表上用的是所謂真的鴻蒙內(nèi)核(鴻蒙微內(nèi)核,從TEE OS演化過來)通過內(nèi)核抽象層,鴻蒙OS將內(nèi)核的差異屏蔽掉
- 系統(tǒng)服務(wù)層和應(yīng)用框架層:這兩層類似Android Framework。但鴻蒙的系統(tǒng)服務(wù)層根據(jù)場景進行了垂直歸類和劃分,例如IoT業(yè)務(wù)子系統(tǒng),穿戴業(yè)務(wù)子系統(tǒng)。通過這些垂直子系統(tǒng),使得鴻蒙OS能滿足不同場景的需求
- 再之上就是應(yīng)用層,鴻蒙提供多種語言的API,目前上層的標準語言是js/java,目標是統(tǒng)一語言,但目前的困難是不同的場景,不同行業(yè)對系統(tǒng)的性能等要求不一樣,所以目前還依賴于硬件。
- 另外,鴻蒙OS和方舟編譯器還有深度合作。方舟編譯主要是優(yōu)化虛擬機/運行時環(huán)境,通過優(yōu)化虛擬機/運行時環(huán)境來加速程序程序執(zhí)行,不排除方舟編譯器將來會首先在鴻蒙OS上得以大規(guī)模商用的可能
三分天下有其一
之前有客戶問怎么選,是Android還是鴻蒙?我們當初老是想著從各種分布式應(yīng)用場景來介紹鴻蒙的好處。發(fā)現(xiàn)客戶一知半解。很多時候,他們會問,我就一臺設(shè)備,沒有分布式需求....。通過最近參加鴻蒙的活動,我突然明白了(可能這個問題我之前沒有特意去思考),鴻蒙就是要替代Android。分布式是鴻蒙的創(chuàng)新點,但確實不是所有應(yīng)用都時刻會用到這個分布式。僅從分布式角度去給客戶推鴻蒙不那么給力。我個人覺得鴻蒙的價值在于要替代Android。在這一年的時間中,我已經(jīng)深刻感受到華為,包括開放原子基金會的同事,社區(qū)合作伙伴,個人愛好者確實是腳踏實地得在做和這個操作系統(tǒng)有關(guān)的每一件事。其決心之大,執(zhí)行力之強難于言表。
所以,當你站在三分天下有其一,要替代Android這個層次來看的話,鴻蒙現(xiàn)在的情況僅僅是過程中的樣子,還遠不是結(jié)果。
最后,在此也號召廣大開發(fā)者對鴻蒙多一點耐心,也積極參與鴻蒙相關(guān)的工作。成功的路上,多一些人參與。
51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)