<bdo id="vljxk"><rt id="vljxk"><noframes id="vljxk"><noframes id="vljxk"><noframes id="vljxk"><rt id="vljxk"></rt><rt id="vljxk"></rt><noframes id="vljxk"><rt id="vljxk"><delect id="vljxk"></delect></rt><noframes id="vljxk"><rt id="vljxk"></rt><noframes id="vljxk"><noframes id="vljxk"><rt id="vljxk"></rt>

當前位置:首頁 >  站長 >  編程技術 >  正文

華為方舟編譯器正式開源,開發者終于找到組織了

 2019-09-03 20:26  來源: A5專欄   我來投稿 撤稿糾錯

  阿里云優惠券 先領券再下單

華為的方舟編譯器一直以來都是行業矚目的對象,作為中國企業首度研發的編譯器產品,如果能夠順利啟用,那么未來中國科技行業很多地方都可以不再受制于人,是非常關鍵的一個技術產品。

這么重要的技術,其研發從來不是一件簡單的事情,也絕非用短短一兩年功夫就可以做到了。其實早在10年前,華為就組建了一支由海內外尖端研發人員組成的編譯組,而4年后,華為推出面向基站領域的編譯器HCC,并正式提出編譯器框架構想。到2019年才正式發布方舟編譯器,足見華為的謹慎和項目的困難。

而在8月31日,華為方舟編譯器正式宣布開源,框架開源代碼公之于眾,可以說是引發了行業的關注和震動,也邁出了自己重構核心生態的關鍵一步。

方舟編譯器開源,華為自主技術與開發者生態再進一步

本次方舟編譯器開放的框架代碼包括編譯器中間表示(IR)和語言編譯實現,同時搭配編譯器其他二進制組件,實現Java程序到aarch64匯編指令的編譯過程。開發者可基于開源代碼+二進制,編譯構建出編譯器工具鏈,嘗試對Java程序進行編譯。社區參與者可以通過框架源碼學習方舟編譯器的編譯器中間表達(IR)及基本的中端編譯框架,熟悉方舟編譯器的架構思想,并參與諸如對編譯器中端優化的貢獻。同時華為也上線了自己的開源社區,并在努力引入更多的國內技術大廠共同進行建設,這也是行業的一件大事,說是一個時代的開啟也不為過。

(方舟編譯器整體框架 )

而方舟編譯器對開發者、對華為、對手機廠商的研發部分而言,也有著格外的價值和意義。因為,從安卓系統問世至今已經有11年的時間,然而,安卓的詬病卻十一年如一日的未解。一方面,對用戶來說,始終感覺低了蘋果手機一頭,用一段時間之后往往就會出現卡頓等問題。另一方面,對開發者來說,隨著安卓系統的不斷大幅升級迭代,碎片化系統和機型越來越多,開發的效率和成本代價也日趨增加,繁重的開發任務也讓開發者有苦難言。

而究其原因,主要在于Java的“虛擬機”機制。安卓系統初期為了吸引開發者,選擇了開發者使用較多的Java語言,并使用虛擬機來運行應用。在虛擬機里,還需要集成翻譯器或者編譯器,來將Java的字節碼(即中間代碼)解釋成機器聽得懂的機器語言,或者直接編譯成機器直接執行的010101的機器碼。這個邊解釋邊執行的過程,就是安卓不夠流暢的原因之一。雖然在2014年10月,谷歌推出了Android 5.0版本,將虛擬機從Dalvik替代成ART(Android Run Time),并對Dalvik的純JIT編譯方式做了改進。但安卓手機的體驗仍然不如蘋果手機,在使用APP的過程中,用戶總是覺得安卓手機比蘋果手機要慢。

而具體到此次開源的華為方舟編譯器,其一大突破就是不再需要依賴Android的ART虛擬機,有望解決安卓虛擬機存在的性能問題可以說,華為方舟編譯器的開源,對華為手機、開發者和其他手機廠商來說,都是一次顛覆安卓傳統“惡習”的革命,也是華為自主技術和開發者生態的再進一步。

華為方舟編譯器將為開發者打造“五星級”開發環境

華為方舟編譯器作為中國自主技術研發的編譯運行系統,從官方宣傳中可以看出其定位的是面向開發者的支持多語言、支持平臺的編程平臺。也就是說未來應用開發將使用方舟編譯器的相關部件,包括編譯器、調試器、調優工具,并且通過支撐多語言、消除跨語言的調用開銷,幫助開發者在選擇編程語言時不用再糾結語言的性能問題。對多平臺的支持,也將幫助開發在未來的多端設備開發上,始終使用同一套編程平臺,不用在不同的開發平臺間來回切換。這也相當于為開發者打造了一個“五星級”的舒適開發環境,不再為傳統的終端程序開發而“心塞不已”,可以更省心、高效的進行各種程序應用的開發、調試和升級迭代。華為方舟編譯器還直接將編譯器的代碼優化搬到了開發者環境,不再被手機端的硬件資源所限制,這更是讓數以萬計的開發者為代碼優化提供了無限可能。

有知乎網友大膽猜測,“華為的野心是,Java、Java、Python、C、C++都要翻譯到Maple IR,并且Maple IR是為了在芯片上運行做優化為目的的語言。”

另有專業網友發帖稱,“今天把官方給的(方舟編譯器)文檔和源代碼都解讀(翻譯了)一遍,目前讀下來的感覺是:把Java的類、接口、異常處理、都做了,工作量真的挺大的。國人自己搞一個這么硬核的項目,在以前是沒有的。能把Java翻譯到自己設計的語言上,再執行對,太難了,工作量超級大,可以說國內做這種級別的東西,可謂是第一次。”

也有人直言,“(方舟編譯器)這種級別的控制復雜度,和建立抽象的能力,以前貌似是只有老外這么干過”,“就算搞個跟國外進化下來的最強開源的,一樣牛逼的,只要是自己一行一行寫起來的,那已經很吊了”。

華為的一小步,行業的一大步,自主技術創新大生態時代已然到來

值得一提的是,開發者使用方舟編譯器,并不需要改變原來的編碼習慣。開發者可以自行開發代碼優化算法,也可以僅通過方舟編譯器預置的算法進行代碼優化。而未來,華為還將提供代碼調優工具,開發者可以選擇根據工具的優化建議來調整代碼,和方舟編譯器配合獲得更優的執行效果。

不難預見的是,隨著未來數以萬計的開發者使用方舟編譯器,手機用戶的體驗也將在不久之后達到一個前所未有的高度。而這對于整個終端生態,可以說華為都是做了一件世界前所未有的大事件。

從技術突破上看,華為方舟編譯器團隊是基于多個編程語言的深刻理解和大量研發積累,將混合語言開創性的實現了統一的中間表示IR,這就相當于同一個人能夠理解全世界的語言。而這,可以說更是華為自主技術創新的又一次革命性突破。

根據華為在開發者大會上公布的信息,作為鴻蒙OS的重要工具,方舟編譯器從今年開始,將持續進行開源。譬如,明年計劃開放Java編譯器工具鏈,支持Java程序編譯;后年則計劃開放對Java語言的支持能力,用于JS應用的編譯。

值得注意的是,不僅方舟編譯器,就連華為的鴻蒙OS也將陸續開源。而華為通過這種持續的開放、開源,正是在將自身十多年來的研發成果和技術能力不斷貢獻給行業,同時在開源社區中,吸引更多的開發者參與并貢獻自己的力量,藉此共同推進中國自主技術和開源盛世的發展。

整體來看,對于華為這樣的超級技術型企業而言,方舟編譯器的開源可能只是一小步,但是對整個行業而言,對世界舞臺而言,卻是十足的一大步,是對中國乃至全球開源領域的強勢引領??梢云诖氖?,以華為的實力和眼光、高度,華為勢必還將持續擁抱開源,更有望繼續在主流基金會及開源社區中積極貢獻,進而為全球億萬開發者進行更深入、更全面的賦能,最終引領一個自主技術創新大生態時代的全面到來。

申請創業報道,分享創業好點子。點擊此處,共同探討創業新機遇!

相關文章

熱門排行

信息推薦