華為發佈會上發佈的方舟編譯器國內別的手機廠商研究出來了麼?

獨自旅行的青小蛙




方舟編譯器有人說這是個逆天的東西,有人說這個是個黑科技一般的噱頭。

其實無論方舟編譯器有沒有改變安卓改變世界的能力並沒有太重要,華為作為手機廠商,把一部分研發精力投入到這種高級的編譯底層的技術研究上,本身也是一個偉大的嘗試。

而且華為成立專門的方舟實驗室也表明並不是鬧著玩玩,而是真的投入研究成本。


方舟編譯器如果真可以極大解決安卓軟件編譯成機器碼的效率低下的特點,那麼確實會引來革命性的變化,甚至可以拉動一次華為編譯的生態圈。

當然,也有可能方舟編譯器只是從某些層面進行了優化,不能從根本解決痛點,可能是炒谷歌的“冷飯”,那麼方舟也將成為華為手機裡去創新的代表,只不過不是那麼成功。



宇文氏習慣性總結:

華為方舟編譯器,國有企業的偉大嘗試,創新精神的偉大弘揚,成敗並沒有那麼重要。

關注“極客宇文氏”,一名熱心有料的軟件工程師。

極客宇文氏


方舟編譯器應該是怎麼回事?

從媒體發佈的有限信息來看,華為的“方舟編譯器”應該是一個將Java源碼或者Java源碼編譯成的Dalvik字節碼編譯為本機代碼的編譯器。這並非創新,但確實算是安卓領域的創舉。因為安卓的基本設計理念就是將APP源代碼編譯為Dalvik虛擬機(新版本安卓升級為ART虛擬機,性能提升了2倍,但換湯不換藥)所需的中間代碼,而不是可以直接在手機CPU上執行的指令碼,這樣有跨平臺、安全性可控等優勢,但劣勢就是執行性能偏低。安卓官方到目前都沒有一款供APP使用的本機代碼編譯器——這似乎是安卓控制生態的一種策略。APP必須滿足Dalvik/ART的標準才能在安卓系統上運行。[頭條·小宇堂—未經許可嚴禁轉載]

因為安卓採用的是Linux核心,因此係統底層開發確實是可以使用標準的C編譯器來編譯一些程序以本機代碼高性能執行,諸如驅動程序和系統基礎服務等等。但安卓的設計思路維持了JAVA一貫的“邊翻譯邊執行”的形式,這跟JAVA程序在PC上運行的情況類似(採用此類策略的還有微軟的.net和Python等。但是要注意安卓的程序編譯成的字節碼跟JAVA字節碼是不同的)。

因為字節碼需要在APP啟動後通過Dalvik/ART虛擬機進行“運行時”翻譯,也就是華為發佈會講的“邊解釋邊執行”,因此安卓APP的執行性能被大大降低了。而蘋果手機的程序則是全部編譯成本機代碼的,因此大家總會感覺iOS的APP比安卓APP的運行起來更流暢的主要原因。(IOS系統是基於UNIX的開源版本BSD)。

方舟編譯器則是跳過了安卓系統的核心Dalvik/ART虛擬機,讓APP編譯為無需Dalvik/ART虛擬機解釋的形式,直接在安卓系統的核心上運行。離開了Dalvik,安卓系統不過就是一個標準Linux操作系統而已,或許安卓已經不再是安卓。谷歌給APP上的緊箍咒就不存在了,如此安卓就只剩下了一個名字而已。而既然已經走到這一步,華為離開發自己的手機操作系統就只剩下捅破這一層紙而已。

從某種意義上來說,方舟編譯器(ARK)就是ART終結者。ARK=Android Runtime Killer🤣

本機代碼編譯器是幹嘛?

本機代碼編譯器是這麼一個程序,它的作用就是將人類撰寫的程序代碼變成CPU可以直接執行的指令碼。不同的CPU就需要不同的編譯器來進行編譯。例如為英特爾x86CPU開發的編譯器編譯出來的程序就只能運行在x86系列的CPU上,而不能運行在ARM或具有其他不同指令集的CPU上面。也就是說如果指令集不同,那麼不“對口”的編譯器編譯出來的代碼就不能執行。Java之所以設計了一種中間的字節代碼,其基本原因也就是為了能夠跨不同的指令集執行,從而允許相同的程序能夠運行在不同的CPU和不同的操作系統上,即所謂跨平臺能力——當然不同平臺上都必須安裝對應版本的JAVA虛擬機。

華為開發編譯器的戰略底氣

華為開發自己的本機代碼編譯器是具備了“硬基礎”的。因為華為有了自己的基於ARM指令集的處理器芯片,這是其他手機廠商所不及的。畢竟編譯器開發的前提是要掌握CPU的指令集細節和執行細節,不同廠商的處理器可能會因設計的不同而有一定的差異。如果處理器是別家的,那麼方舟編譯器就可能需要獲得這些細節的差異的信息,為每種CPU提供對應的支持才能實現編譯目標的兼容性(包括對一些擴展指令的支持)。如果華為沒有自己的CPU就開發編譯器,那麼CPU廠商稍對指令集進行少量修改就可能導致不兼容,那編譯器的實用性就會打折扣。因此在華為站穩了自己的處理器的基礎上,方舟編譯器至少可以完美兼容華為自己的處理器系列,而不必完全看其他CPU廠商眼色。[頭條·小宇堂—未經許可嚴禁轉載]

除了底氣和戰略配合,還需要投入

據公開的信息,華為公開說方舟編譯器在5年前就開始了,投入了上千人,這樣的研發投入在其他手機廠商是少見的。所以綜合各方面的信息來看,別的手機廠商研發出類似編譯器的可能性不大,但在秘密研發中尚未公佈的就難說了,主要就看三星了。

華為開發編譯器的目標

蘋果一直以來在用戶體驗方面與安卓比較最大的一個優勢就是其運行流暢性,安卓的卡頓體驗推高了用戶的購機成本(你得買更好的配置才能獲得跟蘋果類似的體驗)。或許從某個方面來說,如今的谷歌高通聯盟,就跟以往的Wintel聯盟類似,揮舞著操作系統+CPU的小鞭子,不斷鞭笞著消費者們掏銀子買更好的機器。Wintel聯盟因為Linux的出現和移動設備的興起而瓦解,而如今“谷高”聯盟的情況也很不妙呢。[頭條·小宇堂—未經許可嚴謹轉載]

實際上谷歌在替代安卓方面早已經有了計劃,傳說已經透露的Fuchsia系統,但是否還有後手很難說,也就是說,谷歌準備在安卓“濫觴”之後,根據形勢清場一次,重新收回主控權。而華為推出開源的“方舟編譯器”對谷歌的清場策略將是種太極推手的效果。從某種意義上來說,開源的方舟編譯器可能已經宣告了Dalvik的死刑,方舟極可能在谷歌動手之前對安卓生態進行一次“換頭式”的替代,一旦大量的手機廠商和開發者轉而利用方舟編譯器來開發,安卓的生態就基本上跟谷歌沒什麼關係了——身子還是那個身子,但頭已經不是那個頭了。安卓生態可能分裂為繼續使用Dalvik/ART虛擬機的陣營和使用“方舟”的陣營。但開源的推動力曾把Dalvik/ART扶上了臺,現在也可能會把方舟扶上臺。而之後,華為是否會推出自主版權的操作系統並接管安卓生態,這就難說了,如果成功,這將是“明渡陳倉”的經典案例。而谷歌和美國對此會作何反應讓人耐人尋味。

我們拭目以待吧。


小宇堂


1,編譯器是把軟件源代碼編譯成可執行的程序的工具,各種應用開發可以用不同的編程語言開發實現,比如JAVA,C,C++等,再通過IOS編譯器編譯成可在Iphone上運行的程序,通過安卓編譯器編譯成可在安卓手機上運行的程序。一般IOS和安卓的源代碼是不樣的,需要單獨開發。方舟編譯器編譯的是安卓版本的應用程序的源代碼,生成的程序可以在安卓系統上運行且比安卓編譯器生成的程序更流暢。本質上,這個編譯器沒有對安卓本身做任何改變,而是改變了應用程序的形態。

2,阿里雲OS實際上是安卓的一個分支,優化了安卓操作系統的一些性能,這也是谷歌非常反感的,所以有GSM協議,禁止廠商推出自己的安卓版本導致安卓系統碎片化。碎片化帶來的嚴重後果是應用程序在不同版本的安卓上可能不兼容了,只能在某些安卓版本上運行而在有些版本上不能運行,這樣會給應用程序開發帶來額外的工作量,非常不可取。

3,各個大的廠家有自己基於安卓的定製界面,比如華為的EMUI,小米的MIUI,魅族的Flyme,這個沒有對安卓底層做修改,而是在操作界面上做了一些定製,把圖標做得有自己特色的風格,把一些菜單的邏輯做了一些個性化定製,但是本質上還是安卓的底層系統,運行的效率和流暢度幾乎沒有差距。

4,華為的GPU Turbo,CPU Turbo涉及到了安卓底層的一些接口優化,但是也沒有改變安卓系統本身,而是優化了安卓系統跟CPU與GPU一些調度邏輯,提升了效率。

5,Turbo,各種廠家的UI,包括編譯器,都沒有動安卓系統本身,但是都是在想辦法解決安卓系統的效率與流暢性的問題,拉近與IOS體驗的差距。目前為止僅有華為推出了編譯器,且已經開源,其它廠家暫時沒有看到動作,後續是不是願意跟進,以及有沒有實力跟進,有沒有動力跟進,可以拭目以待。有個說法,世界上有能力對安卓系統底層動手術的工程師大概有300個,100個在谷歌,100個在華為,另外100個在其它各個組織。

6,華為為什麼要推出方舟編譯器,一方面提升安卓手機的體驗,提升與蘋果手機競爭時的產品競爭力,為整個安卓生態做貢獻。另一方面,大膽推測,經過方舟編譯器編譯的應用程序,應該是可以運行在華為自研的操作系統上的,且在華為自研操作系統上有比在安卓系統上更流暢更好的體驗,這樣,當足夠多的應用程序完成了方舟編譯器的編譯之後,華為順勢推出自研操作系統,也就有足夠強大的應用生態支撐華為自研操作系統的流行了。

7,華為推出自研操作系統在技術上沒有難度,目前形成的IOS與安卓兩強的局面,主要還是因為生態(即移動應用程序數量和支持度)的原因,微軟的Windows phone主要也是敗在這個方面,目前移動應用大概400萬+種,任何源代碼級別的修改帶來的工作量的增加都可能造成移動應用支持不夠,方舟編譯器完美的解決了這個問題,華為自研操作系統能形成健康可持續的生態的可能性非常非常大。

8,谷歌不會坐等安卓份額的喪失,去年說計劃在歐洲開始收費變現了。華為方舟編譯器的發佈可能會導致安卓收費的延遲甚至是取消。判斷有兩種可能,敵不動我不動,谷歌不收費或者美國不制裁,華為就不推出自研操作系統。谷歌一旦有傷害安卓手機廠商的舉動,真到了那個時候,大膽預測,華為就會順勢推出自研操作系統並宣佈永久免費甚至開源。到時候華為手機操作系統的生態就開始進入正式拓展階段,能不能成,也需要時間去檢驗。


Mofi2018


華為手機的強勢崛起,以及華為通訊設備上的巨大成就讓人們忽略了華為同時也是這個世界上有數的軟件企業之一,華為是Linux基金會白金會員,看看這個等級有幾個成員,在看看都有誰,那麼華為在安卓系統上的成果也就沒什麼好驚奇的了!


幻覺214776078


說好的渦輪增壓呢?說的那些省電百分之幾?流暢度百分之幾?CPU,利用百分之幾,都實現了嗎?都是坑營銷手段而已,還是靠美帝的技術。我是榮耀9青春版的用戶。


電咾虎


阿里雲麼 阿里雲OS 不也是基於安卓換了編譯器麼


老李很年輕


AOT,幾十年前淘汰的玩意。


分享到:


相關文章: