2020 (80)
2021 (49)
2022 (69)
鴻蒙已死,哄蒙萬歲
一年前,華為剛揭示鴻蒙時,我的博文“殺器還是噱頭?詳解華為的操作係統”做了預測。當時華為公布的鴻蒙的信息還很有限。博文說:“華為的手機操作係統備胎,新東西少,隻是集成了華為對安卓的一些優化。最後結果就是自己玩,難逃塞班和Palm OS的命運,噱頭而已。華為公司工程能力強,但不是一個技術創新的公司。”有小粉紅留言:“你說得也許對,但我願意做小白鼠,華為這個係統出來了我肯定買,讓華為有機會改進提高,最後做到最好。”我回複:“希望你長壽,能等到鴻蒙出來的那一天。”
一年以後,轉身回看:我的預言基本都說中了。
當時華為消費者業務總裁餘承東說最快今年秋天,最晚明年(2020年)春天,華為自己的手機操作係統將可能麵市。2019年7月3日任正非接受法國《Le Point》雜誌專訪時表示,鴻蒙操作係統主要應用於物聯網,並不是用在手機中,做這個係統的時候並不是想替代穀歌的。 2019年8月9日,餘承東在華為開發者大會上正式發布手機操作係統鴻蒙,但隻有PPT,未有展示。說該係統雖然主要麵向IoT設備,但也可支持手機。如果穀歌安卓係統不向華為開放,將“可以隨時啟用鴻蒙”。10月23日,華為輪值董事長徐直軍在華為媒體溝通會上稱,鴻蒙本來是用於華為內部一個內核的名字,後來被媒體誤傳為華為的操作係統。2020年4月22日,任正非表示:華為的操作係統要想超越安卓和蘋果的操作係統,可能需要很長時間,但不會超過 300 年。
華為的立場不斷後退。先宣稱鴻蒙是今後華為手機的操作係統。然後改口說鴻蒙是針對物聯網開發的。隻會在安卓不能用時才會啟用。而穀歌從來沒有對華為關閉安卓。安卓是開源的,穀歌不能也不會阻擋任何公司用安卓。穀歌限製華為使用的隻是穀歌的應用程序-GMS。而鴻蒙是操作係統,和GMS是兩回事。所以不存在安卓不對華為手機開放的情況,這樣鴻蒙永遠隻能當備胎。備胎是打造不出生態係統的。沒有生態係統的操作係統隻能閉起門來自己玩。任正非說要300年才能超越安卓和蘋果,那時華為在不在都是問題,實際上是承認這是一個不可能完成的任務。徐直軍幹脆否認鴻蒙是一個操作係統,這都是為以前的牛皮找台階下。
華為的宣布互相矛盾。說明華為的鴻蒙戰略比較混亂,隻是一個概念,覆蓋的領域不清晰。為了宣傳,倉促上馬,問題很大,很可能已經流產。按英國傳統,當老國王死掉,新國王即位。使者各地宣示“The King is dead, Long live the King”。(老)國王已死,(新)國王萬歲。徐直軍和任正非實際上宣示:鴻蒙已死,哄蒙萬歲。
審視華為揭示的鴻蒙構想,新意不多。簡而言之是兩個拚盤,一個替換。拚盤是安卓架構和LiteOS的拚盤。LiteOS是華為的輕量級物聯網操作係統,麵向智能家居、車聯網等領域,集成LiteOS和安卓是為了麵向手機和物聯網。一個替換是用方舟編譯器取代JAVA虛擬機,用靜態編譯取代動態解釋,以適應各種硬件平台。華為的鴻蒙在構想上抄襲穀歌的Fuchsia。Fuchsia是穀歌的下一代操作係統,采用微內核架構,用於嵌入式係統。Fuchsia的設計目標之一是可運行在眾多的設備上。Fuchsia的部分代碼已經放在Github上。
安卓係統使用JAVA為編程語言。為了跨硬件操作,使用了虛擬機,將各種硬件抽象成Java的運行環境。JAVA運行在虛擬機上,虛擬機負責連接具體硬件。因此安卓可以跨硬件平台。虛擬機裏有一個解釋器,將JAVA語言逐句翻譯成硬件懂得的機器碼,這個動態解釋會降低代碼的運行速度。方舟編譯器替代了Java虛擬機,在應用打包的時候就將所有程序,包括靜態和動態的部分直接編譯成機器指令。為了在不同硬件上工作,方舟編譯器需要先編譯出對應所有硬件平台的二進製文件,之後在具體手機安裝的時候選擇針對當前硬件平台的二進製裝入手機。因此會出現安裝包容量大的問題(因為安裝包包含所有硬件平台的二進製文件)。據估計,方舟編譯器重新編譯的安裝包要比安卓大兩三倍,手機安裝後的機器碼要大0.5-1倍。帶來的問題是占用存貯和內存顯著增加。用戶下載安裝包會消耗越來越多的時間和流量。這是一個用空間換取運行速度的策略。華為宣稱這個替代能夠讓係統響應快44%。
方舟編譯器有嚴重的生態問題。首先華為必須將編譯器代碼開源,並讓應用開發商免費下載,開發商將其應用用方舟重新編譯,並再次對安卓的所有版本和所有硬件平台進行測試,改正Bug後,重新發布,在所有應用商店上架。這個工作必須讓各個應用開發商自己做,華為不能代勞,因為每個應用都要有開發者的簽名。這基本上是一個不可能完成的任務。你可以在愛國情懷下忽悠國內的部分開發者,但不可能讓全球的應用開發者來跟隨。大多數的應用開發商是中小規模的,甚至是個人,怎麽可能有時間有精力開發編譯測試如此多的版本?
當一個新手機硬件發布後,方舟編譯器必須及時跟進,並將新版本推送給所有的開發商。隨著越來越多新硬件的發布,方舟編譯出的安裝包勢必會越來越大。用戶下載安裝包會消耗越來越多時間和流量。同時開發商編譯時間會越來越長,需要測試的硬件會越來越多。
大多數應用開放商不跟隨,又不能覆蓋所有的手機硬件,上下流生態環境都打不開,生態係統培養不出來,這樣的手機係統隻能哄蒙小粉紅。
這麽大的麻煩換取的是最多44%的係統響應速度。而且這個提升是在實驗室特定條件下測得的。體現在用戶感知上,很可能要大打折扣。根據用戶感知測試,一般人對在0.2秒以下的速度提升沒有感知。在這個區間,人的感知已經達到飽和。換句話說,把響應速度從0.2秒提升到0.1秒,人感覺不到區別。目前中高端安卓手機的性能瓶頸不是CPU的處理速度。所以對這個方舟的優化,用戶很可能無感。
總之,鴻蒙缺少革命性的創新,隻是拚湊式的工程集成。以增大存儲空間和應用開發的不便換取有限的速度提升,很難贏得生態係統。胎死腹中,是必然命運。現在已經過了餘大嘴宣稱的最晚的麵市時間,鴻蒙仍舊神龍首尾兩不見。不過鴻蒙的使命就是哄蒙。所以這個名字還會存在,繼續哄蒙。
你說的對, 如果有選擇, 他們是會用 Android 而非鴻蒙的. 但是在沒有選擇的情況下呢?難道也自己從頭開發一個新的操作係統嗎?為了華為手機能生存, 華為放棄鴻蒙的控製權也是完全可能的.
“老美還是有辦法的,比如不讓你access他的服務器,即使你有權使用,但拿不到代碼也沒用”
除非穀歌不對世界上開發者開放,所以不存在這種可能性。
我的意思是禁用 Android Service, 和其他 Google 的Apps, 否則華為也不需要自己開發鴻蒙了.
是你搞混了吧。
華為的方舟不必須支持安卓。
和堅持三七二十四的人沒法討論。
老美還是有辦法的,比如不讓你access他的服務器,即使你有權使用,但拿不到代碼也沒用
方舟最初是為了android的,沒錯吧?那麽方舟是android的一部分嗎?
你是不是把編譯器和執行搞混了?
Android本身是不可能被禁用的,他的license已經規定死了.至於中國其他廠商,十之八九是不願意用鴻蒙的,硬件已經弄不過華為了,軟件在交給他家,還玩什麽.除非華為把鴻蒙的控製權徹底放棄,這就要看華為有沒有這個魄力了
不是有人定義。你回去看看架構。
大部分操作係統(安卓、華為的鴻蒙)都把編譯器歸為操作係統。尤其是為了跨平台操作。
至於其他手機廠商會不會用鴻蒙,我看希望不大,但華為自己在做硬件的時候,別人是不會來用他的OS的”
華為為了生態係統,必須開源開放。這個討論沒什麽意義。華為承諾,如果鴻蒙能麵市,一定開源。
正常情況下你是對的, 但是現在的情況是中國的所有手機廠商都麵臨著某一天被美國禁用 Android 的可能. 我想這些廠商不會不做最壞的打算, 在準備第二手. 采用鴻蒙也許是最小成本的方案.
"象 Apple 一樣, 華為也可以有大量的第三方應用開發商, 在早期華為可以資助,扶持第三方應用開發商. 華為有巨大的中國市為其優勢.
塞班 和 PalmOS 都早於 iOS, 所以先發並不保證優勢, 關鍵在於市場的接受程度."
真正的智能手機領域,iPhone是最早的。
不認為大多數第三方應用開發商會支持華為。
按照華為定義,鴻蒙永遠是備胎,沒有人會為備胎開發應用。
主要還是有多少流量,多少利益,以及需要多少時間和精力去兼容.如果華為能夠提供IDE,一次編譯,產生包括Android和鴻蒙兩套執行碼,那麽開發者的成本就會小很多,就有動力去開發兼容產品
現在有人定義Compiler是OS的一部分的?在Linux上都有多個C編譯器,在Android上也有不同編譯器,更不用說Windows了
隻有蘋果除外,他家是徹底封閉式的
和你說了,App開發者完全可以針對不同OS編譯不同下載包,這也是可以自動化的,可能會編譯時間較長,但對終端用戶來說,下載的可能更小(相對現在Android)
至於其他手機廠商會不會用鴻蒙,我看希望不大,但華為自己在做硬件的時候,別人是不會來用他的OS的
編譯器是操作係統的一部分。
Windows不是跨平台操作係統。
下載包太大有流量和下載時間的問題,下載後要占用存儲。區別下載管理和實現都有困難,為了有限的速度優化,不值得。綜合起來,沒有優勢。
象 Apple 一樣, 華為也可以有大量的第三方應用開發商, 在早期華為可以資助,扶持第三方應用開發商. 華為有巨大的中國市為其優勢.
塞班 和 PalmOS 都早於 iOS, 所以先發並不保證優勢, 關鍵在於市場的接受程度.
====================================
1.你說的是操作係統開放,不是編譯係統開放,這是兩回事
2.如果OS能夠兼容硬件並提供API,上層應用不用直接支持硬件,Windows,和DirectX非常好的示範
3.你說的是下載時間而不是存儲空間的問題,這個可以由AppStore解決,AppStore可以存儲不同版本,根據用戶機型和OS下載,當然如果App能夠和不同OS兼容,那麽這根本就不是問題
為什麽需要對所有新硬件都兼容呢?至少在初期隻需要兼容華為的新硬件就夠了. 就象 iOS 和 iOS Apps 隻在 iPhone 硬件上運行一樣, 鴻蒙和鴻蒙 Apps 隻需要在華為硬件上運行就夠了.
1.想讓你的操作係統有生態環境,讓上下遊都跟隨,你必須開放。穀歌就是用開放的係統,以後來者超越了蘋果,贏得90%的市場。
2.編程代碼人懂但機器不懂,需要編譯器為每個硬件翻譯成機器碼。
3.所有的代碼都占用存貯和內存,隻是華為的方舟因為是打包前靜態編譯,需要對所有的硬件類型都先編譯好再下載,其體積是其他OS的數倍。
2.你為windows寫的代碼需要在每種硬件/OS都重新編譯?
3.至於空間占用,安卓也是把常用代碼在運行時編譯成二進製放在"硬盤"上,同樣占用空間,隻是你不知道而已