您好,登錄后才能下訂單哦!
方舟編譯器,最近幾個月始終地處科技界熱詞的頂端。
這來自于它本身的架構(gòu)級優(yōu)化,也來自于其在特殊時間背景下,與鴻蒙OS的關(guān)系。此外還有一點,就是自誕生之日起,方舟編譯器就宣布將會開源。
對于中國軟件開發(fā)者來說,開源是一個既熟悉又陌生的詞匯。熟悉的是差不多人人都用GitHub,陌生的是似乎還沒有移動端的中國底層軟件技術(shù)走向過開源之路。
在不久前的華為開發(fā)者大會上,華為給出了鴻蒙OS及方舟編譯器的開源時間表。而不到一個月,8月31日,華為方舟編譯器開源官網(wǎng)正式上線,框架開源代碼如約與廣大關(guān)注方舟編譯器的愛好者、開發(fā)者見面。
據(jù)悉,本次方舟編譯器的開源版本,開放了編譯器框架部分源碼,包括編譯器中間表達(dá)(IR)+語言編譯實現(xiàn),開發(fā)者可以通過官方網(wǎng)站及代碼托管網(wǎng)站獲得相關(guān)代碼和文檔,供參考學(xué)習(xí)、了解方舟編譯器的架構(gòu)和代碼。
而向更廣闊的未來看,這次開源不僅是一種技術(shù)的外放?;诜街劬幾g器,華為引領(lǐng)行業(yè)共同構(gòu)建生態(tài)與社區(qū),這是中國底層軟件開源之路的探索。
“方舟”和“開源”,或許有理由把這兩件事融合到一起來看。因為軟件開源與社區(qū)建設(shè),長時間以來都被認(rèn)為是中國軟件行業(yè)必須補完的關(guān)鍵環(huán)節(jié)。而方舟編譯器的戰(zhàn)略價值,恰好成為了一個契機與窗口。
開源是路,而方舟是匙。二者結(jié)合時,我們或許已經(jīng)可以窺見中國移動產(chǎn)業(yè)與軟件行業(yè)的生態(tài)未來。
五十年,軟件開源史與產(chǎn)業(yè)洪流
想要明白方舟開源對行業(yè)的價值,必須先解釋這樣一個問題:軟件開源為什么重要。
這個問題要回到五十年的漫長歷史中去回答。事實上,整個信息革命進(jìn)程,始終伴隨著軟件開源事業(yè)的不斷發(fā)展和深化。一部開源史,也是一部信息技術(shù)與互聯(lián)網(wǎng)的產(chǎn)業(yè)革命史。
1969年,AT&T 貝爾實驗室開發(fā)出了 UNIX。此后的10年,業(yè)界可以以低廉的成本獲取 UNIX 源代碼,并在此基礎(chǔ)上進(jìn)行革新改進(jìn)。事實上,UNIX和貝爾實驗室在當(dāng)時已經(jīng)打造了原始版本的開源意識和社區(qū)化思想。雖然之后AT&T出于商業(yè)考慮,停止了免費的UNIX版本更新,但軟件開發(fā)者的自由與分享意識已經(jīng)覺醒。此后的計算機時代,始終伴隨著軟件工作者對開源事業(yè)的熱愛與執(zhí)念。
1984年,理查德·斯托曼發(fā)起了 GNU 項目,目標(biāo)是創(chuàng)建一個完全自由且向下兼容 UNIX 的操作系統(tǒng)。次年,他圍繞GNU建立了自由軟件基金會,至此首個推廣自由軟件的民間非營利性組織誕生,為軟件行業(yè)正式啟動開源工作奠定了基礎(chǔ)。
1991年,影響至今的Linux 內(nèi)核誕生。事實上,大名鼎鼎的Linux在當(dāng)時采用了GNU的系統(tǒng)軟件集,可以說是對GNU項目的發(fā)展和繼承。Linux內(nèi)核很快也被開源了出來,其開發(fā)生態(tài)直接影響了互聯(lián)網(wǎng)產(chǎn)業(yè)的進(jìn)程。
我們耳熟能詳?shù)陌沧?,就是采用Linux 內(nèi)核編寫的移動端操作系統(tǒng)。而安卓的開源與生態(tài)化建設(shè),直接造就了繁盛的移動互聯(lián)網(wǎng)和智能手機時代。相比于iOS的封閉,安卓的開源雖然有很多問題,但它的高開放度、低門檻,也帶來了行業(yè)普惠價值,以及極強的成長空間。
而開源之路并沒有就此終止,2008年大名鼎鼎的 GitHub 發(fā)布。這一平臺的價值在于,它是一個開源的分布式軟件版本控制系統(tǒng),各種開源項目都可以在平臺上進(jìn)行公開公平的軟件開源,從而與全世界開發(fā)者共同打造更優(yōu)軟件體驗。如今GitHub已經(jīng)成為了被廣泛認(rèn)可的開源民主化平臺,其社區(qū)生態(tài)影響著全球各領(lǐng)域的軟件開放進(jìn)程。
回顧五十年的開源史,我們會發(fā)現(xiàn)開源平臺與技術(shù),是在時代需要與前輩技術(shù)基礎(chǔ)上逐步發(fā)展起來的。而更優(yōu)質(zhì)、更徹底、更自由的底層軟件開源,并不會降低一家公司的競爭力。相反這可以推動行業(yè)共識和生態(tài)繁榮,用所有開發(fā)者的智慧共同做大技術(shù)紅利。
所以,開源史帶給世界的結(jié)論,是平臺化技術(shù)的開源是長期紅利的基礎(chǔ),是產(chǎn)業(yè)繁榮的先導(dǎo)。不斷適應(yīng)時代需求的開源技術(shù)與開源社區(qū)生態(tài),是疊層筑造的軟件高塔。在這座高塔之上,軟件用全球開發(fā)者的智慧讓自己變得更好,再反哺世界科技的發(fā)展。
生態(tài)開源的底層模式、技術(shù)民主化,以及貢獻(xiàn)越大話語權(quán)越大的社區(qū)機制,用五十年時間奠定了軟件產(chǎn)業(yè)持續(xù)進(jìn)化的基礎(chǔ)能力與全球產(chǎn)業(yè)共識。遺憾的是,這場宏偉變革中中國軟件人更多處在應(yīng)用者與學(xué)習(xí)者,而非變革推動者的角色。
當(dāng)然,這一境況若干年來正在發(fā)生變化。比如華為等中國公司正在持續(xù)擁抱開源事業(yè)。目前華為在有重大國際影響力的開源社區(qū)中擁有十多個董事席位,及200多個TSC、PTL、Core Committer席位。作為Linux基金會白金成員,華為對Linux kernel累計貢獻(xiàn)6800+補丁,是TOP 5中唯一的亞洲廠商。
在開源事業(yè)中不斷積累的華為,今天準(zhǔn)備在移動生態(tài)這片軟件沃土上,開啟由中國科技公司主導(dǎo)的開源平臺建設(shè)。
歷史的時針,或許就此撥動。
今日,方舟的船舵
從歷史中回看,底層軟件開源之路帶來的行業(yè)紅利,主要由這樣的模式產(chǎn)生:軟件本身具有極大應(yīng)用價值,開源后各廠商與開發(fā)者可以獲得直接效用;而廣大開發(fā)者反過來重新思考、雕琢和優(yōu)化這一軟件,匯聚而成開源社區(qū)。這個社區(qū)既是底層技術(shù)的不斷優(yōu)化,也是產(chǎn)業(yè)共識的自然建立。
而方舟編譯器的開源,顯然滿足這一邏輯的基礎(chǔ)。
對于廣大APP廠商、軟件開發(fā)者、互聯(lián)網(wǎng)企業(yè)來說,對方舟編譯器的理解和應(yīng)用可以帶來核心價值,即對自身應(yīng)用體驗的直接提升。而向長遠(yuǎn)角度看,方舟編譯器背后的技術(shù)思路與生態(tài)價值,更是對行業(yè)具有長線推動作用。
這次開源的方舟編譯器框架代碼,可以完成Java靜態(tài)編譯,包括類層次關(guān)系分析、虛方法表和接口表的生成、native函數(shù)的處理等,以及基于引用計數(shù)的內(nèi)存管理方式,提供樸素的RC插入功能。
這一階段的框架開源,主要滿足編譯器領(lǐng)域?qū)<壹皭酆谜哐芯繉W(xué)習(xí)的需要,同時華為將繼續(xù)優(yōu)化其他編譯器組件,以便讓源代碼更適應(yīng)開源社區(qū)的開發(fā)環(huán)境。同時,開發(fā)者可通過代碼托管平臺參與社區(qū)貢獻(xiàn),包括文檔貢獻(xiàn)和代碼貢獻(xiàn),同時也可在此平臺上反饋相關(guān)問題和需求。
從近到遠(yuǎn),我們可以看到方舟編譯器開源,到相關(guān)社區(qū)與貢獻(xiàn)制度建立,對于整個軟件行業(yè)來說具備三重價值:
1、開發(fā)者可以通過加強對方舟編譯器的理解,加強自身產(chǎn)業(yè)競爭力。
方舟編譯器具備多語言聯(lián)合優(yōu)化能力、高效的內(nèi)存回收機制、靈活的編譯優(yōu)化方式和極低的學(xué)習(xí)使用成本等特點。如今方舟編譯器已經(jīng)在產(chǎn)業(yè)合作中,廣泛滲透到各APP開發(fā)領(lǐng)域,成為用戶體驗提升的新技術(shù)撬點。而方舟開源本身,對于這些APP開發(fā)者以及移動應(yīng)用開發(fā)行業(yè)來說,是通過提升理解,加強自身產(chǎn)業(yè)與方舟編譯器耦合的機會。在同質(zhì)化競爭激烈的移動互聯(lián)網(wǎng)產(chǎn)業(yè),這也是差異化競爭力的又一來源。
2、理解跨語言編譯機制,提升自身業(yè)務(wù)能力和面向未來的移動端編程能力。
方舟編譯器本身是一種新的編譯機制,尤其具備跨語言編程的能力。這在極大程度上是對現(xiàn)行編程基礎(chǔ)的一次優(yōu)化與提升。業(yè)內(nèi)人士都知道,跨語言編譯雖然已經(jīng)成為行業(yè)主流,但卻存在大量痛點。比如JNI和反射機制開銷巨大;Java代碼和C/C++代碼互相不可見;跨語言的全程序優(yōu)化無法實施等等。
此次開源的方舟編譯器框架代碼,包括編譯器中間表示(IR)和語言編譯實現(xiàn)。開發(fā)者可基于開源代碼+二進(jìn)制,編譯構(gòu)建出編譯器工具鏈,嘗試對Java程序進(jìn)行編譯。如此,開發(fā)者可以通過熟悉方舟編譯器的架構(gòu)思想,提升自身在跨語言編程領(lǐng)域的業(yè)務(wù)能力和理解水準(zhǔn)——通過對方舟的“拆招解式”,實現(xiàn)行業(yè)基礎(chǔ)軟件水準(zhǔn)的共同進(jìn)步。
3、參與方舟生態(tài)建立,在成長的開源環(huán)境中獲得長期紅利。
編譯器是個龐大的軟件工程,需要建立生態(tài)逐步完善。而對于軟件開發(fā)者、高校研究者和終端廠商來說,此時方舟開源推動建立的開源社區(qū),可以說是中國移動軟件開源社區(qū)的基礎(chǔ),是尋求未來產(chǎn)業(yè)共識的良好平臺。此時加入,不僅可以短期加強業(yè)務(wù)競爭力,更有助于通過長期貢獻(xiàn),積累未來社區(qū)中的話語權(quán)。方舟編譯器的陸續(xù)開源進(jìn)程中,將通過建立托管平臺,實行按貢獻(xiàn)大小決定話語權(quán)、走向開放治理機制,最終形成社區(qū)生態(tài)。這是中國終端軟件的一次全新嘗試,無論是補完產(chǎn)業(yè)鏈,還是走向未來,都將源源不斷激發(fā)技術(shù)與社區(qū)紅利。這些紅利將長期釋放給行業(yè)和開發(fā)者生態(tài),尤其對于早期參與者和積極貢獻(xiàn)者來說。
就像很多偉大的底層技術(shù)一樣,方舟編譯器也會開源開放給所有聰明的大腦。而開發(fā)者在此刻擁抱方舟時,一定會注意這樣一件事:這艘方舟,正航向哪里?
路與遠(yuǎn)方
移動時代之后,科技產(chǎn)業(yè)的下一個時代從何而來?我想現(xiàn)在這個問題應(yīng)該已經(jīng)具備了初步共識:5G提升聯(lián)接能力;AI改變交互;IoT設(shè)備作為硬件形態(tài),共同編織成了下一個時代。
而對于軟件和移動產(chǎn)業(yè)來說,今天最關(guān)鍵的問題就是:我應(yīng)該如何邁進(jìn)這條路?
要知道,AI、5G、IoT的想象力相輔相成,但其中涉及太多的技術(shù)難點,并且在草創(chuàng)階段嚴(yán)重缺乏技術(shù)共識。比如AIoT的芯片、網(wǎng)絡(luò)、應(yīng)用、算法,以及未來演進(jìn)方向,這些在今天都充滿了不確定性,甚至自相矛盾的產(chǎn)業(yè)現(xiàn)狀。
如何讓這條未來之路真正打開呢?吸取五十年的信息技術(shù)史,我們會發(fā)現(xiàn)開源和技術(shù)民主,是確定行業(yè)底層技術(shù)共識的最佳途徑。
5G交融AI的智能時代,是中國和中國開發(fā)者首次完整抓住的科技產(chǎn)業(yè)革命,但這是機會同時也是考驗。當(dāng)我們需要開源生態(tài)和社區(qū)化的長期紅利,首先要建設(shè)生態(tài)與社區(qū)。未來技術(shù)大門需要一把鑰匙去開啟,開源社區(qū)與技術(shù)生態(tài)需要第一捧泥土去堆積。
從哪開始呢?又何不從方舟開始呢?
我們知道,方舟編譯器是鴻蒙OS的重要工具,而鴻蒙OS則是面向IoT全場景生態(tài)的底層操作系統(tǒng),也是AI和5G融入新硬件時代的關(guān)鍵接口。
如果我們把方舟的開源到鴻蒙的開源,看作一個長期執(zhí)行、長期生態(tài)化的系統(tǒng)工程,就會發(fā)現(xiàn)華為事實上在基于剛剛發(fā)生的方舟開源,打開面向未來,中國開源社區(qū)的第一步。
方舟開源和完善,是一個不間斷的過程,是系統(tǒng)化的工程,也是行業(yè)紅利釋放的長期軌跡。接下來,2020年方舟編譯器將開放Java編譯器工具鏈,支持Java程序編譯;2021年方舟編譯器將開放對JavaScript語言的支持能力,可用于JS應(yīng)用的編譯。
同期,鴻蒙OS的開源工作也將陸續(xù)展開,華為將把軟件方面的技術(shù)能力在社區(qū)中不斷貢獻(xiàn)給行業(yè),與行業(yè)一起探尋更好的、更符合時代需求的軟件技術(shù)。
沿著這條路徑,我們已經(jīng)可以在今天想象很多事,比如基于AIoT邏輯的殺手級應(yīng)用和明星公司成長起來;比如IoT產(chǎn)業(yè)迎來大量共識,快速提高產(chǎn)業(yè)效率;比如軟件開發(fā)行業(yè)普遍效率得到提升,將有更多創(chuàng)造性思維與人才聚集到軟件中來。
未來還長,但鑰匙已在手中。過去,當(dāng)我們追問中國軟件產(chǎn)業(yè),為什么總是追隨者而不是創(chuàng)造者的時候,其實很多時候答案很簡單,因為沒有人踏出第一步,沒有人選擇最苦最累的工作完成,沒有開源開放的共識與思維。
而如今,很多事情已經(jīng)改變。從方舟到開源,從開源到生態(tài)——鴻蒙已開,春來草自青。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。