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