-
1 # 天豪孤情劍
-
2 # 極客宇文氏方舟編譯器究竟想做什麼?
我之前問答也有提到,方舟編譯器從技術角度上說就是從編譯的層面提高手機軟體的效能。
不僅僅是華為手機,目前安卓手機上的大部分軟體都是Android開發人員開發的,所使用的程式語言是Java,Java是一種既可以被認為是編譯性語言又可以被認為是解釋性語言的語言,它被編譯class位元組碼以後,又要經歷Java虛擬機器的解釋才能最終被翻譯成機器可以讀懂的機器碼。
這個過程就是比較耗費效能的一件事情,尤其是安卓軟體,比如一個安裝包被手機點了安裝以後需要花費一定時間才能完成,在現在安裝包越來越大的情況下,這時間也被慢慢放大,還有一些手機軟體執行起來啟動的時候也是屬於比較緩慢的。是因為在手機上這些軟體被編譯器邊解釋邊執行,因此這個過程存在最佳化空間。
華為的方舟編譯器具體實現我沒有去深究,但是它的思路大概就是想在這個“解釋”的過程進行最佳化改造,如果這個編譯器可以理想化的話,那麼華為確實將在安卓軟體開發層面打下一個非常漂亮的格局,但是最終谷歌會不會不樂意就不知道了,畢竟安卓作業系統是谷歌所有的,我們華為明顯是想從中分一杯羹。
因此方舟編譯器是在安卓手機上進行一次革命,當然華為一定會想好如果自己擁有一套作業系統,這個方舟一定會相容這個作業系統的,生態環境無法銜接是理所當然的事情。
宇文氏習慣性總結:
-
3 # 木石心志
我認為確實是為了推出自己的作業系統做準備,之前有關華為自己作業系統即將面世的訊息,在MWC2019之後就開始流傳於網路之上,根據餘承東的表示“如果逼不得已,將會選擇內部解決方案”,為什麼沒選擇現在就直接推出呢?當時市場分析主要有以下幾個方面的原因:
1.系統尚不成熟,還沒有達到面世的水平;
2.系統生態體系不成熟,華為系統如何搭建自己的應用生態還沒有好的解決方案;
3.目前android系統可以滿足需求,且沒有遇到禁用危機。
如果我們再結合這次華為在P30國內釋出會上,同步推出的方舟編譯器這一舉動,前後聯絡起來,就能很好的理解華為背後的初衷是什麼了,有關推出的方舟編譯器的兩個方面的目的我們一會兒再說,首先我們先來了解下這次華為推出的方舟編譯器吧。
木石科普:什麼是方舟編譯器我們先從編譯器說起,編譯器可以說是用來生成軟體的軟體,是軟體與晶片之間的橋樑,其效能,效率直接影響到最基礎的消費者體驗,因為任何在手機上的程式都需要經歷軟體開發的過程,軟體開發使用的語言是易於程式設計師理解的高階語言,程式在手機上執行需要轉換成可以高效執行的機器碼,而這個轉換的過程就是由編譯器完成的。
那麼這次華為推出的方舟編譯器,就是在軟體程式設計、轉碼方面實現了很大程度的最佳化,據華為介方舟編譯器能夠從底層解決Android執行效率問題,讓Android擁有與iOS同臺競技的能力,與其他Android廠商形成代差,能讓系統流暢度提升24%,系統響應度提升44%以上,第三方應用操作流暢度提升60%以上。
一切都是為了華為OS其實從表面上看,方舟編譯器並不是一個系統,只是安卓系統下的一款工具,但同時他也可以理解成為一個入口,透過這個編譯器,華為可以讓眾多的APP廠商使用其編譯器,聚合廠商。而且編輯器可以根據時機以及華為的需求慢慢升級為自主作業系統的應用開發工具,以後大家使用這個“方舟編譯器”,就可以開發出華為自主作業系統需要的APP,來解決生態的問題。
所以從這個角度去思考華為的這一舉動,我們就可以很明確的看出,華為推出方舟編譯器的最終目的,其實也為了自己的作業系統的應用生態搭建在做準備,這是華為的最終目的。
另外一個方面呢,即便自己的作業系統短時間內無法面試,那麼這個方舟編譯器給系統的最佳化做出了這麼大的提升,這對於華為的品牌、行業影響力也是具有很大的促進作用的,這應該算是其第二個目的。
-
4 # 超哥no1
說到關鍵點了,“方舟”編譯器,就像一把尖刀直插開發端,掌握開發工具。說到這兒你應該明白了吧? 試想,當所有開發商都在用方舟來進行程式編譯,假如某天華為突然升級編譯器,支援新無縫支援自家系統呢?是不是釜底抽薪的感覺?
另外我猜測華為的新系統跟安卓高度相融,使用方舟編譯器可以非常方便的轉換到新系統,降低開發商適配成本,那麼新系統的生態搭建難度將會縮小百倍!
“方舟”不是突然冒出來的,是華為研發並驗證已久的,說明這步棋早已佈局好,難怪任正非為什麼這麼有自信,不知道後面還有多少殺手鐧、B計劃是我們不知道的?
最後,我大膽再猜測一下,接下來
第一步,華為可能會在業內普及方舟編譯器,隨後將編譯器體驗提升到最好。
第二步將會正式釋出新系統、新特性,支援華為、榮耀、其他品牌手機,自願更新或切換。
第三步,將麒麟處理器利用價格優勢對國內友商開放,並以此實現讓友商手機相容華為系統應用,甚至使用華為系統作為底層(使用麒麟晶片必須支援新系統?),最後國內開發商全部歸順新系統,方舟編譯器使命完成!華為釋出“方舟”編譯器是否在下一盤大棋?
如果你也有這種感覺那就對了,這還得從頭說起,華為經過數年的風風雨雨,在手機領域從一家小品牌,到國內數一數二,花費了大量心血,隨後在國際市場遇到西方國家的強烈壓制,讓華為面臨著無路可退的局面,晶片、手機、通訊都消耗大量資源,此時是不可能放棄的,但西方遏制中國的手段決不止這一個,華為是面臨一個強大的對手,必須用心下好這盤棋,想要下好就得走一步看七步,我們看看華為如何佈局。
說到關鍵點了,那就是“方舟”編譯器,一把尖刀直插開發端,掌握開發工具。說道這兒你應該明白了吧? 試想,當所有開發商都在用方舟來進行程式編譯,假如某天突然宣佈,升級後的編譯器,支援新系統呢?是不是釜底抽薪的感覺?
另外我猜測華為的新系統我猜測絕對跟安卓程式高度相容或類似,使用方舟編譯器可以非常方便的轉換到新系統,降低開發商適配成本,那麼新系統的生態搭建難度將會縮小百倍!
方舟這樣的編譯器不是突然冒出來的,是華為研發並驗證已久的,這步棋要在第一步的時候就已想好,任正非為什麼這麼有信心,後面還有多少步棋是我們不知道的?
還有,我大膽再猜測接下來,第一步,華為會盡全力在業內普及方舟編譯器,隨後將編譯器體驗提升到最好,第二步將會發布新系統、新特性,支援華為、榮耀、其他品牌手機,第三步,將麒麟處理器利用價格優勢對國內友商開放,並實現讓友商手機相容華為系統應用,甚至使用華為系統作為底層(使用麒麟晶片必須支援新系統),最後國內開發商全部歸順新系統,方舟編譯器使命完成!
-
5 # 通訊觀察員
首先,方舟編譯器今年會在國內開源,比較振奮人心,後續可以持續關注。
解釋下什麼叫編譯器,簡單但並不嚴謹的來講,可以理解為一個計算機的“翻譯官”。CPU是命令的最終執行者,但是它執行的命令並不是大家平時耳熟能詳的C語言、Java語言等,它只能夠認識機器碼。而C、Java這些都是高階語言,需要編譯器“翻譯”一下,把高階語言翻譯為機器碼,CPU才認識。
P30釋出會上,說安卓目前程式是“邊解釋邊執行”,效率比較低下,針對這點做了改進,app執行效率大幅提升。這個也可以簡單但並不嚴謹的理解下。就像是做翻譯,有兩種,一種是先拿到英文稿,翻譯人員認真詳細的看一遍,充分理解內容,翻譯成中文。另外一種類似於同傳,實時聽到一段話,然後翻譯出來。而後者就可以簡單理解為程式的“邊解釋邊執行”,拿到一塊程式碼,翻譯成機器碼,再拿下一塊程式碼。Android是基於Java語言進行開發,而Java是“邊解釋邊執行”的。而C語言則相反,它是全部翻譯為機器碼後再執行。當然現在Android本身也在逐步演進,兩種方式也在逐步融合。
這次華為釋出的方舟編譯器,提到了將改變Android原有的“邊解釋邊執行”,全程機器碼執行。可以說,不再採用原來類似於“同傳”的方式進行。由於還沒有開源,尚不清楚華為的解決方案是什麼,但是從多種潛在的方案中,我們可以推測出華為潛在的一些意圖。
終端銷量意圖轉化為生態,用效能為銷量錦上添花
這個意圖的邏輯,是基於以下的技術推測。我們從應用商店上安裝app時,下載下來的是一個安裝包,這個安裝包就是編譯器編譯之後的產物,目前基本上是位元組碼,不是機器碼,要再進行下轉化。那華為的解決方案,可能的一種方式,就是下載下來的這個東西,就是機器碼,機器碼執行起來肯定會更快。
如果是這種解決方案的話,必然需要依託華為應用市場來進行。目前華為的手機基本都會預置華為應用市場。在華為手機大量銷售的情況下,大量使用者從華為應用市場下載app,而且是最佳化過的app,效能執行在華為手機上效果更好,自然會形成一套良性迴圈,搭建一套生態體系。
這其實和蘋果的邏輯有相似之處,蘋果的app只能執行在IOS系統上,而在蘋果手機上執行時,一般的硬體也會因為最佳化的好執行很流暢。
Android本來是開放的體系,華為透過切入編譯器,利用其手機銷量較大的優勢,疊加內建華為商城,將開放的體系打造出來了一個相對內部的生態。
從商業上來看,這一招十分的巧妙。但這也是基於華為手機銷量是較大的,這樣才能做。其實谷歌也做過類似的探索,谷歌也做安卓手機,想建立生態體系,只不過手機賣的一直不是很好,所以也就沒建起來這一套體系。華為可以說和這種模式有相似之處,都是企圖基於硬體銷量搭建生態。
-
6 # Lscssh科技官
很顯然華為就是在為自己的作業系統做準備!我們來縷一下時間和思路
1、透露作業系統:3月初媒體爆出餘承東在公開場合接受採訪時透露了華為已經有了自研的作業系統,而且不僅是手機,也包括電腦的系統。而從現有訊息看,華為搞自研的作業系統時間最早要推到2012年前後,也就是說至今已經有7、8個年頭,而此前基本沒什麼風聲,可見保密程度之高。而現在突然卻主動曝光了,這顯然是系統打磨的差不多了,同時現在這個檔口也真好遇上歐美的封堵,是拿出來的時候了。
2、方舟名稱的隱喻:僅僅過去一個多月,華為的方舟編譯器就釋出了。而這個編譯器的名稱方舟顯然也是有所考量的,諾亞方舟的故事大家都明白,這其中的隱喻應該還是挺清楚了。
3、方舟編譯器的實際功能:從目前的訊息看,表面上方舟就是安卓的編譯器,可以提升安卓系統的響應時間,APP應用的流暢度。但是用過這款編譯器重新編譯出來的APP應用是有專門的打包格式,並非原先的安卓檔案包,也就是說這是專門用來給華為手機開發製作應用程式的編譯器。如此一來,至少在開發層面是大大方便了廠商單獨製作適用於華為手機的APP了,降低了廠商的開發成本。當然,最終還得看廠商是否願意,畢竟這其中牽扯很多利益關係,並非大家都會支援。
4、基於安卓系統:如果華為推自研的系統,那肯定還是選擇現有系統上進行最佳化改進,否則這開發難度將更困難,也不利於後續生態的建設。因此,新系統仍舊基於安卓系統是大機率事件,這樣廠商遷移起來就方便許多,搭配下方舟編譯器就能很快開發出對應華為手機的版本。
因此,綜合起來看,方舟編譯器是為自己的自研系統鋪路就顯得非常合理了,華為手機銷量過2億,基本上能自建生態圈了,而編譯器的出現的則更進了一步,讓開發商也能更便捷的開發,當大量廠商應用後,最後就是水到渠成的推出自研系統。
回覆列表
方舟編譯器,首先要講一下什麼叫編譯。因為機器是隻能做數字計算的,能夠讓機器去運算的,數字的語言就是機器語言。除此之外的所有計算機語言都是非機器語言。為了讓機器可理解,相對於機器語言的高階語言都需要一個轉換,從高階、機器不可理解,轉換為機器可理解的機器語言,這樣的一個轉換過程就叫做 編譯(Compile),由 編譯器(Compiler)來完成。
對這個方舟編譯器,我們有幾個猜測。
一 純編譯,就是全部自己寫的,不過這個工程量很大,程式碼也會很多,優點是全是自己的寫的,缺點肯定是安裝檔案會特別大。二 種是華為學的是蘋果手機系統,自己編了個runtime編譯器,取名方舟編譯器,然後可以載入所有的內容。這走的是蘋果的套路。三 是華為自己先把一些常用的機器碼編譯出來,再加上runtime。這種也是大家覺得最靠譜的一種觀點。不可否認,華為在為自己的系統做著準備,但是不管是怎麼講?華為這樣做也是真的在為自己以後的後路做準備,其實這也提醒其他的手機廠商小米OPPO vivo也應該有華為這樣的戰略遠光才好。