總是有人說“鴻蒙是安卓套殼”,真的是這樣的嗎?如果鴻蒙是安卓系統(tǒng),那為什么還要兼容安卓的應(yīng)用呢?還要用“兼容”這個詞?如果鴻蒙是安卓系統(tǒng),那谷歌為什么拿華為鴻蒙沒有辦法、無法制裁呢?
當(dāng)年的阿里Yun OS系統(tǒng)風(fēng)光一時,可是一發(fā)布就被谷歌打壓而無法生存。
為什么這種情況在華為鴻蒙系統(tǒng)的身上就沒有發(fā)生呢?這些都充分說明,鴻蒙就是鴻蒙,是一款純國產(chǎn)手機系統(tǒng),跟安卓半毛錢關(guān)系都沒有,所以谷歌拿華為鴻蒙沒有任何辦法。
一、采用的內(nèi)核架構(gòu)不同。
安卓系統(tǒng)采用的是“宏”內(nèi)核,而鴻蒙系統(tǒng)采用的是“微”內(nèi)核,這也是它們之間最根本的區(qū)別。別看只有一字之差,所產(chǎn)生的結(jié)果卻是天差地別。
宏內(nèi)核采用的是分層架構(gòu),就是1+1+1+1的模式,系統(tǒng)內(nèi)核與功能模塊是一個有機整體不可分離。
宏內(nèi)核就好比一個大箱子,所有的功能模塊都放在一起,一旦某個功能出問題,就會影響整個箱子的使用,類似“一顆老鼠屎壞了一缸米”。
微內(nèi)核采用的是分布式架構(gòu),就是1+N的模式,1代表內(nèi)核,N代表不同的功能模塊,也就是說內(nèi)核與功能模塊是分離的。而且功能模塊之間是并行運行、互不干擾,一個模塊出現(xiàn)問題,不會影響其它模塊的正常使用。
分布式架構(gòu)的優(yōu)點:并行拆分和橫向擴展,系統(tǒng)的各個部分可以并行運行,并且在系統(tǒng)開發(fā)上可以比較輕松地實現(xiàn)橫向擴展。
鴻蒙系統(tǒng)的微內(nèi)核只需要提供系統(tǒng)的基本功能,然后開發(fā)者可以根據(jù)產(chǎn)品的需要橫向添加相應(yīng)的功能。比方說:開發(fā)手表系統(tǒng),可以只添加手表相關(guān)的功能,這樣可以最小化系統(tǒng);
也可以并行添加“手表功能+冰箱功能+電腦功能”,形成多終端系統(tǒng),每個功能都是獨立的,互不干擾。不需要修改系統(tǒng)內(nèi)核,直接添加就可以了。
二、軟件開發(fā)環(huán)境不同。
安卓軟件的開發(fā)環(huán)境是基于JDK(Java Development Kit),以Java語言為核心,包括Java運行環(huán)境JRE、Java工具、Java基礎(chǔ)類庫等等;
而鴻蒙軟件則是通過方舟編譯器來開發(fā)的,方舟編譯器支持多語言統(tǒng)一編譯,屬于集成化開發(fā)環(huán)境,分布式架構(gòu)Kit,開發(fā)效率會更高。
三、應(yīng)用場景不同。
由于鴻蒙系統(tǒng)采用的是微內(nèi)核和分布式架構(gòu),所以鴻蒙系統(tǒng)可以輕松應(yīng)用在任何智能終端上,如:智能臺燈、智能窗簾、智能冰箱、智能汽車、智能機床、智能醫(yī)療等等,而且各智能終端可輕松實現(xiàn)互聯(lián)互通,是一個名副其實的物聯(lián)網(wǎng)系統(tǒng)。
在實現(xiàn)這些功能的時候,不需要修改系統(tǒng)內(nèi)核,只需要直接添加功能就可以了,也就是說它們有一個“統(tǒng)一的系統(tǒng)內(nèi)核”。
安卓系統(tǒng)是一個移動終端系統(tǒng),主要是一個手機系統(tǒng)。要想讓安卓系統(tǒng)應(yīng)用到其它智能終端上,由于采用的是分層架構(gòu),所以就需要修改系統(tǒng)內(nèi)核,把它變成適用于其它智能終端的系統(tǒng)內(nèi)核。
也就是說,安卓手機系統(tǒng)內(nèi)核與安卓平板系統(tǒng)內(nèi)核、安卓手表系統(tǒng)內(nèi)核是不同的,每種內(nèi)核都需要單獨開發(fā),這就加大了工作量。
當(dāng)然,華為鴻蒙系統(tǒng)與谷歌安卓系統(tǒng)也有一些共同之處,如:它們都是開源系統(tǒng),任何智能終端廠家都可以通過它們來開發(fā)自己的UI系統(tǒng);
它們都是基于Linux內(nèi)核開發(fā)的,所以在很多地方都有相似之處,所以華為鴻蒙系統(tǒng)可以兼容安卓應(yīng)用軟件。