人人妻人人爽人人做夜欢视频九色,亚洲欧洲日产国码久在线,亚洲av日韩av无码黑人,久久国产avjust麻豆

全部
華為王成錄:讓軟件成為華為手機(jī)的硬實(shí)力
新聞類別: 行業(yè)動態(tài) 瀏覽量:2624

近日,華為CBG軟件部總裁王成錄講述了讓軟件成為華為手機(jī)硬實(shí)力的歷程,介紹了華為EMUI對安卓系統(tǒng)所做出的方舟編譯器、GPU Turbo、安卓綠色聯(lián)盟等方面的創(chuàng)新和努力。從市場與用戶的反饋來看,越來越多的消費(fèi)者認(rèn)可華為手機(jī),這既歸功于華為手機(jī)芯片和硬件能力的快速提升,更離不開軟件全棧的深度優(yōu)化與技術(shù)創(chuàng)新。


華為王成錄:讓軟件成為華為手機(jī)的硬實(shí)力


4月11日,CBG總裁余承東在上海發(fā)布了P30系列手機(jī)。發(fā)布會后,一個聽上去有點(diǎn)晦澀的新名詞——“方舟編譯器”迅速登上了知乎社區(qū)的熱搜榜,引發(fā)了IT從業(yè)者、數(shù)碼博主、資深碼農(nóng)乃至普通消費(fèi)者的極大關(guān)注和廣泛熱議。“編譯器是什么?”“華為方舟編譯器和安卓原生的AOT/JIT(Ahead of Time/Just in Time)有什么區(qū)別?” “方舟編譯器對安卓生態(tài)有何意義?”等,網(wǎng)友對各種深淺不一問題的討論不亦樂乎,諸多跟帖評論精彩紛呈,不得不說高手在民間。

       

其中一位網(wǎng)友的評論很有代表性:“昨天的華為發(fā)布會,讓我感到驚喜的是,在如今這個年代,會有一家國內(nèi)消費(fèi)電子公司把編譯器作為一大亮點(diǎn)來介紹。華為在基礎(chǔ)研發(fā)上的持續(xù)高投入,加上手機(jī)終端市場占有率向全球第一邁進(jìn),使得‘自建生態(tài)’的夢想,對一家中國公司而言首次成為可能?!?/span>

       

編譯器是將程序開發(fā)用的高級語言轉(zhuǎn)換成機(jī)器指令的軟件,可以理解成軟件與硬件之間的橋梁。那方舟編譯器會帶來怎樣的價值?簡單點(diǎn)說,是解決現(xiàn)有安卓這座橋梁并不順暢的頑疾,是對安卓真正深度的優(yōu)化與革新,可以說為安卓產(chǎn)業(yè)注入了新的生命力。

       

而這只是華為一系列軟件創(chuàng)新的最新成果。今天,從市場與用戶的反饋來看,越來越多的消費(fèi)者認(rèn)可華為手機(jī)長期使用后依然流暢,對用華為手機(jī)玩游戲體驗(yàn)不佳的吐槽也越來越少。這既歸功于華為手機(jī)芯片和硬件能力的快速提升,更離不開軟件全棧的深度優(yōu)化與技術(shù)創(chuàng)新。

       

我們深知,任何軟硬件的技術(shù)優(yōu)化和創(chuàng)新探索都必須瞄準(zhǔn)用戶體驗(yàn)。服務(wù)近5億在網(wǎng)用戶的華為手機(jī)操作系統(tǒng)EMUI是如何圍繞用戶體驗(yàn),不斷進(jìn)行深層創(chuàng)新,推出硬核技術(shù)的?


故事還得從幾年前說起。


面向消費(fèi)者的軟件怎么做


3年前,我在負(fù)責(zé)2012實(shí)驗(yàn)室的中央軟件院,7月份,余總的一個電話,讓我有機(jī)會來到CBG負(fù)責(zé)終端軟件的研發(fā)工作。當(dāng)時的心情既興奮又忐忑。興奮在于,從進(jìn)公司伊始,我一直從事和軟件緊密相關(guān)的工作。在我心目中,完成大規(guī)模工業(yè)化的軟件研發(fā),不啻以虛擬世界的0和1為建筑材料,去設(shè)計建造一座宏偉的殿堂。而如何能讓我們的建造成果和過程都達(dá)到世界級,給我們的用戶和合作伙伴帶來價值,一直是我的追求與夢想。

       

忐忑也隨之而來。雖然都是軟件研發(fā),但是智能手機(jī)操作系統(tǒng)對于我是一個全新的領(lǐng)域。首先是標(biāo)準(zhǔn)化程度大不相同,電信設(shè)備軟件有非常完備的行業(yè)標(biāo)準(zhǔn),ITU、3GPP、IETF等,實(shí)際上把網(wǎng)絡(luò)架構(gòu)和網(wǎng)元架構(gòu)標(biāo)準(zhǔn)化了。研發(fā)需要做的就是根據(jù)標(biāo)準(zhǔn)協(xié)議,遵從一定的開發(fā)流程規(guī)范,比如IPD(集成產(chǎn)品開發(fā)),以及合理的項(xiàng)目管理來實(shí)現(xiàn)相應(yīng)的交付目標(biāo)。同時,電信設(shè)備軟件的需求也是相對清晰和匯聚的,全球幾百家運(yùn)營商的需求百分之七十以上幾乎是一致的,而且設(shè)備的日常維護(hù)主體是經(jīng)過專業(yè)化訓(xùn)練,具有相當(dāng)技術(shù)水平的運(yùn)維人員,可以相對清晰準(zhǔn)確地反饋設(shè)備使用中的各種問題。


而面向消費(fèi)者的軟件則大為不同。廣泛流行的智能手機(jī)操作系統(tǒng)最終只留下了iOS和安卓。與封閉的iOS框定一切來保證體驗(yàn)不同,安卓是由谷歌主導(dǎo)的AOSP社區(qū)開源,但原生安卓實(shí)際上是Design Reference(設(shè)計參考),具體到每一個功能如何取舍和擴(kuò)展,與海量的第三方APPs如何交互,并沒有詳細(xì)而統(tǒng)一的標(biāo)準(zhǔn)可以遵從,都是各個手機(jī)廠家根據(jù)自己的硬件平臺、產(chǎn)品定位和目標(biāo)用戶群,做大量的適配和優(yōu)化修改,生態(tài)碎片化嚴(yán)重。一切只能以消費(fèi)者體驗(yàn)為準(zhǔn)繩。


在安卓開放的大環(huán)境下,怎么做才能實(shí)現(xiàn)最好的用戶體驗(yàn)?在iOS已經(jīng)通過多年的積累樹立了牢固的領(lǐng)先形象時,怎樣才能讓EMUI被越來越多的消費(fèi)者認(rèn)可,是我和整個軟件團(tuán)隊(duì)面臨的最大挑戰(zhàn)。


聚焦最大的用戶痛點(diǎn) “在飛行中換引擎”


我們決定將“用戶體驗(yàn)最佳”作為終端軟件追求的目標(biāo)。而首要解決的問題就是,什么最影響用戶體驗(yàn)?


經(jīng)過大量的調(diào)查和訪談,團(tuán)隊(duì)很快發(fā)現(xiàn),最為安卓用戶詬病的,是長期使用后的卡頓,這也是影響消費(fèi)者體驗(yàn)的第一大障礙。

       

一個熱愛電子產(chǎn)品的同事和我講述過他的智能手機(jī)使用經(jīng)歷。在安卓手機(jī)進(jìn)入大屏年代后,2013年他購買了當(dāng)時做得最好的安卓手機(jī)S和H,用的還是頂級配置,但用了一年多后,即使每晚不做任何操作,都會消耗百分之十幾的電量;更讓他無法忍受的是,卡頓、死機(jī)幾乎成了家常便飯,必須要不斷重啟和清理內(nèi)存才能勉強(qiáng)使用。用他的話說,不是我在用手機(jī),而是手機(jī)在用我。


為什么即便擁有很高的硬件配置,即便是當(dāng)時最好的安卓手機(jī),也會面臨更多的穩(wěn)定性和流暢性問題?是哪些因素導(dǎo)致了長期使用后的卡頓和死機(jī)?


我們決定“啃”下卡頓這個最大的硬骨頭。EMUI團(tuán)隊(duì)成立了專門的“特戰(zhàn)組”集中攻關(guān)。特戰(zhàn)組詳細(xì)分析了安卓系統(tǒng)下四百多臺幾十種機(jī)型的手機(jī),經(jīng)過反復(fù)的問題重現(xiàn)和軟硬件的全棧分析,共發(fā)現(xiàn)以下四個導(dǎo)致卡頓、死機(jī)的主因:


1. 安卓系統(tǒng)的松散管理,應(yīng)用對資源的使用缺少規(guī)則,就像建了很多道路卻沒有交通規(guī)則,最終是擁塞和混亂;


2. 系統(tǒng)硬件資源協(xié)同缺乏,僅僅靠增加RAM(運(yùn)行內(nèi)存)資源不能解決問題,而是要更有效地調(diào)度與使用資源;


3. 存儲碎片累積效應(yīng),隨著使用時間的增加,存儲碎片化日益嚴(yán)重,數(shù)據(jù)讀寫速度明顯下降,系統(tǒng)卡頓頻繁、加重;


4. APP膨脹嚴(yán)重,特別是頭部應(yīng)用功能不斷堆積,導(dǎo)致產(chǎn)生的數(shù)據(jù)急劇增長,搶占系統(tǒng)資源嚴(yán)重,拖累系統(tǒng)運(yùn)行速度。


這些問題,幾乎涉及到從芯片到軟件全棧,如果只是見招拆招被動應(yīng)對,是不可能真正解決問題的。必須全面系統(tǒng)分析,才能拿出全面徹底的解決方案。但安卓系統(tǒng)本身極其龐大,代碼行數(shù)過億,在這么龐大的系統(tǒng)上“動手術(shù)”,挑戰(zhàn)可想而知。會不會在優(yōu)化的同時導(dǎo)致其它兼容性的問題?有沒有足夠能力實(shí)現(xiàn)預(yù)定的目標(biāo)?

      

但是,帶著有問題的引擎勉強(qiáng)飛行,只會釀成更大的事故。畏縮不前不如放手一搏。通過大量細(xì)致的分析和研判,我們決心破釜沉舟——干!最終,經(jīng)過專家的反復(fù)診斷和討論,拿出了5大“藥方”來一一解決上述問題。

       

簡單來說,人工智能是核心,對應(yīng)用側(cè)智能分析,判斷應(yīng)用的資源需求特征(計算密集型、RAM密集型、IO密集型等);對硬件資源側(cè),感知CPU、內(nèi)存、IO(Input/Output)、存儲等資源狀態(tài),通過AI算法實(shí)現(xiàn)應(yīng)用需求與硬件資源的最佳匹配,并及時合理地整理和回收空閑資源,解決上面提到的硬件資源協(xié)同和APP占用空間過度膨脹的問題。


“抽屜式”替換 為安卓注入新的生命力


對于存儲碎片化的問題,我們采取了一個比較激進(jìn)的方案——替換了安卓原生文件系統(tǒng)。

       

安卓從誕生之初就直接架構(gòu)在Linux基礎(chǔ)上,其文件系統(tǒng)最初并未考慮碎片文件的快速整理。長時間以來,安卓手機(jī)都是從Linux繼承文件系統(tǒng),這個文件系統(tǒng)對智能手機(jī)上的Flash存儲并不友好,也是碎片化的主因。我們決定用F2FS(Flash Friendly File System)文件系統(tǒng)來替換原生的文件系統(tǒng),不僅因?yàn)镕2FS是為Flash量身定做,還因?yàn)樗梢允故謾C(jī)極大程度上避免文件碎片。


F2FS是由友商S公司原創(chuàng)并開源的。但S公司自己并沒有率先使用。因?yàn)槲募到y(tǒng)決定存儲上所有文件的存儲與訪問方式,好比器官移植手術(shù),替換文件系統(tǒng)的復(fù)雜度和風(fēng)險是巨大的。


我們雖然在實(shí)驗(yàn)室仔細(xì)驗(yàn)證了半年多,但替換文件系統(tǒng)的高復(fù)雜度和高風(fēng)險,仍然是決策的最大顧慮。軟件管理團(tuán)隊(duì)和技術(shù)團(tuán)隊(duì)多次分析后,最終果斷拍板,并和CBG簽訂了軍令狀,承諾搞不定或出了問題就“軍法處置”。


得益于團(tuán)隊(duì)膽大心細(xì)的執(zhí)行力,F(xiàn)2FS文件系統(tǒng)最終替換成功,成為解決卡頓頑疾全方案中最重要的組成部分。

       

2016年,伴隨著Mate 9 系列發(fā)布的EMUI5.0,我們?yōu)檫@個解決安卓卡頓的方案取了一個簡單易懂的名字,叫做“天生快 一生快”,同時承諾消費(fèi)者“18個月不卡頓”,這個當(dāng)時看似“吹?!钡某兄Z,今天已經(jīng)成為現(xiàn)實(shí)。從市場反應(yīng)和消費(fèi)者反饋來看,在安卓陣營里,華為手機(jī)率先甩掉了“卡頓”的帽子。


2018年,谷歌將F2FS吸收到安卓原生版本中,所有安卓廠商因此受益,對安卓生態(tài)是很有價值的貢獻(xiàn)。至今,谷歌的自研手機(jī)Pixel 3也使用了F2FS文件系統(tǒng)。


基于理性的技術(shù)判斷和果斷決策,讓我們領(lǐng)先了所有安卓廠商一步。更難能可貴的是,為了實(shí)現(xiàn)安全替換,逼迫我們的團(tuán)隊(duì)沒有退路地仔細(xì)分析了原生系統(tǒng)的底層,邊戰(zhàn)邊練,讓我們的團(tuán)隊(duì)積累了非常寶貴的經(jīng)驗(yàn),也嘗到了深度優(yōu)化安卓的甜頭。


第一道考題,我和軟件團(tuán)隊(duì)初步獲得了CBG管理團(tuán)隊(duì)的信任,有了一個好的起點(diǎn)。


走向生態(tài)協(xié)同的“深水區(qū)”


在解決卡頓這個頑疾的過程中,我們就發(fā)現(xiàn)安卓生態(tài)的松散是一個挑戰(zhàn),這并不能通過技術(shù)來解決,但又和用戶體驗(yàn)息息相關(guān)。


相較于iOS對生態(tài)的嚴(yán)格管控,安卓生態(tài)主要依賴玩家的自律自覺。打個不恰當(dāng)?shù)谋确剑沧吭到y(tǒng)好比谷歌修好的一條高速公路,谷歌設(shè)想上路的自然是遵守交通規(guī)則的機(jī)動車,而實(shí)際情況卻是,不但機(jī)動車上路了,各種牛車、馬車、三輪車和行人都來了,加上沒有交警(優(yōu)先級調(diào)度系統(tǒng))負(fù)責(zé)管理,擁堵就成了常態(tài)。


這種狀況在國內(nèi)尤甚。手機(jī)廠家不斷投入的技術(shù),只是把端側(cè)的運(yùn)行環(huán)境做得越來越高效、整潔。但應(yīng)用市場的魚龍混雜對用戶體驗(yàn)影響巨大,各安卓手機(jī)廠家不僅擁有自家的應(yīng)用市場,還有種類繁多的第三方應(yīng)用市場,再加上通過瀏覽器鏈接就能下載安裝App,還有各種木馬App、惡意軟件,互相引導(dǎo)安裝、偽裝后臺、無限制申請手機(jī)系統(tǒng)資源等,帶來的問題就是Apps對安卓系統(tǒng)資源的使用極不規(guī)范,甚至是惡意使用。


“病從口入”,導(dǎo)致的結(jié)果就是,用戶體驗(yàn)不斷受損。


華為面臨一個選擇,是隨大流,還是牽頭豎起大旗,聯(lián)合重量級生態(tài)玩家,逐步規(guī)范、凈化安卓生態(tài),把優(yōu)質(zhì)的體驗(yàn)還給消費(fèi)者?


僅僅依靠手機(jī)廠家自身的持續(xù)技術(shù)投入和優(yōu)化已然不夠,走向生態(tài)協(xié)同的“深水區(qū)”是華為終端軟件必須要邁出的一步。


經(jīng)過大量的前期溝通討論,2016年11月14日,在上海的Mate 9系列發(fā)布會上,華為聯(lián)合阿里巴巴、百度、騰訊、網(wǎng)易四家企業(yè)共同發(fā)起了安卓綠色聯(lián)盟。作為一個開放的非盈利性組織,希望共同構(gòu)建中國安卓綠色應(yīng)用環(huán)境,打造安全、可靠、可信、健康的應(yīng)用生態(tài),把極致的應(yīng)用體驗(yàn)帶給消費(fèi)者。


安卓綠色聯(lián)盟成立后,集中發(fā)起廠家的經(jīng)驗(yàn)和智慧,陸續(xù)推出了《安卓綠色聯(lián)盟應(yīng)用體驗(yàn)標(biāo)準(zhǔn)》的1.0和2.0版本,涵蓋了應(yīng)用安裝與運(yùn)行的兼容性、穩(wěn)定性、安全、功耗和性能標(biāo)準(zhǔn)。同時發(fā)展會員企業(yè)超過1000家,覆蓋80%的主流應(yīng)用。


在安卓綠色聯(lián)盟平臺上,華為提供了超過3千臺測試真機(jī),免費(fèi)向所有安卓應(yīng)用開發(fā)者開放,只要遠(yuǎn)程登錄,即可申請到相應(yīng)的測試資源并執(zhí)行測試;同時,華為把安卓最新版本的變化及時分享給國內(nèi)開發(fā)者,大大提升了安卓應(yīng)用在新版本上的適配效率。


對于通過了《安卓綠色應(yīng)用體驗(yàn)標(biāo)準(zhǔn)》的應(yīng)用打上“綠色應(yīng)用”標(biāo)記,讓消費(fèi)者在應(yīng)用下載時對應(yīng)用質(zhì)量的了解一目了然,可以安心使用。通過2年多的協(xié)作,綠盟已幫助超過20萬開發(fā)者進(jìn)行免費(fèi)測試、牽引Top 3000安卓應(yīng)用降低了高功耗與權(quán)限濫用行為。消費(fèi)者、應(yīng)用開發(fā)者、互聯(lián)網(wǎng)廠商和手機(jī)廠家都因此受益。整個安卓生態(tài)的參與者,都愿意在這個平臺上共享經(jīng)驗(yàn)、共同創(chuàng)新。2018年還成立了AI開放生態(tài)合作、AI安全設(shè)計方案、AR、游戲加速四大創(chuàng)新工作組。


我們將和伙伴一起把安卓綠色聯(lián)盟持續(xù)的發(fā)展壯大下去,希望她能成為整個產(chǎn)業(yè)的一盞明燈,優(yōu)勝劣汰,為所有安卓用戶帶來極致的應(yīng)用體驗(yàn)。


“嚇人”的GPU Turbo背后


2018年6月,余總在北京發(fā)布“嚇人的技術(shù)”GPU Turbo,不但引起了其他廠商對于“嚇人”和“Turbo”的跟風(fēng),也在一些主要的科技論壇引起了關(guān)于背后技術(shù)的大討論。


游戲產(chǎn)業(yè)在手機(jī)上的迅猛發(fā)展超乎很多人的預(yù)料,幾乎一半以上的用戶都是手游用戶。早在2016年,國內(nèi)的手游已經(jīng)占據(jù)了游戲市場的半壁江山,而且如王者榮耀、吃雞等“硬核化”游戲的普及,將游戲?qū)τ谑謾C(jī)圖形處理能力的要求推向了前所未有的高度。而受限于ARM Mali GPU的限制,在與其他頂級友商的GPU的PK中,華為手機(jī)用戶對游戲體驗(yàn)的吐槽急劇增多。


手游的體驗(yàn)是不是只能依賴GPU的處理能力,或者類似某些所謂的游戲手機(jī)堆料來實(shí)現(xiàn)?能不能像整機(jī)性能一樣通過軟硬協(xié)同來優(yōu)化?這些問題進(jìn)入了我們的視野。說干就干,相關(guān)工作馬上開始啟動。


2017年2月,我們發(fā)起了一場中西合璧的針對手機(jī)圖形處理性能的攻關(guān)。雖然新加入的海外圖形處理專家給出了很有價值的思路,但是整個攻關(guān)過程并非一馬平川。其中經(jīng)歷了無數(shù)次嘗試、接近、又推倒重來的過程?!皠賱t舉杯同慶,敗則拼死相救”,來自美國、芬蘭、俄羅斯和深圳、杭州、南京、上海的相應(yīng)領(lǐng)域?qū)<覀?,不論部門,不分晝夜,最終達(dá)成了預(yù)期的目標(biāo)。


當(dāng)最后我們說出GPU Turbo 可以提升游戲性能的同時降低功耗,業(yè)界開始是一片質(zhì)疑,都覺得這個邏輯違反常理。但我們有充足的底氣,從GPU Pipeline(處理隊(duì)列)、CPU/GPU聯(lián)合調(diào)度,到OPEN GL(開放圖形庫)各指令的詳細(xì)解讀和細(xì)致調(diào)整,再到圖形處理引擎的重構(gòu)和應(yīng)用負(fù)載的清洗,完整的全棧分析和解決方案,讓我們有足夠的技術(shù)自信,敢于公開我們的目標(biāo)和承諾。


6月6日,發(fā)布會現(xiàn)場,知名技術(shù)平臺現(xiàn)場直播搭載GPU Turbo的榮耀Play和其他友商手機(jī)的同款游戲?qū)Q。在幀率、抖動率、掉幀、耗電等硬指標(biāo)上,榮耀Play獲勝!一個多小時的實(shí)時對戰(zhàn),讓業(yè)界見識了GPU Turbo的實(shí)力。GPU Turbo上市之后的反響超出預(yù)期,而各種第三方自發(fā)的評測也證實(shí)華為手機(jī)坐穩(wěn)了游戲性能的第一陣營。


任何成功的背后,都是艱辛和汗水,所有參與GPU Turbo項(xiàng)目的研發(fā)弟兄們,經(jīng)歷過多少個不眠之夜已經(jīng)記不得了。而我們始終牢記,潛心投入技術(shù),聚焦提升用戶體驗(yàn),才是持續(xù)改變用戶觀念,提升品牌與口碑的王道。


軟件工程里的“硬核”技術(shù)


2018年7月初,GPU Turbo上市的余熱還未散去,忽然一起用戶投訴引起了維護(hù)與營銷團(tuán)隊(duì)的注意。相當(dāng)多的用戶在升級GPU Turbo之后,隨著某款熱門游戲的一次更新,不少場景出現(xiàn)了花屏。由于涉及華為和游戲廠商,究竟是誰的問題,中間是不是有什么故事,迅速成為媒體熱炒的內(nèi)容,一時間各種說法紛至沓來。


盡管聲音很多,但對我們來說,用戶的體驗(yàn)才是最重要的。僅僅2天之后,EMUI團(tuán)隊(duì)把2MB左右的補(bǔ)丁包快速推出,迅速解決了問題。我們的快速反應(yīng)能力,受到了廣大消費(fèi)者幾乎一致的好評。


這種快速的補(bǔ)丁升級能力,在終端領(lǐng)域,華為是獨(dú)有的,其他安卓廠家并不具備。這背后,是EMUI團(tuán)隊(duì)這幾年持續(xù)構(gòu)筑的軟件工程能力:代碼共主干、全棧架構(gòu)解耦、版本自動化生成三個硬核能力。


工欲善其事必先利其器,軟件工程能力是軟件研發(fā)的“器”。強(qiáng)大的軟件工程能力是軟件研發(fā)的重要組成部分,也是軟件研發(fā)的硬核技術(shù)。


三年多以前的EMUI,基于海思Kirin、高通、MTK芯片的主干各不相同。主干只是物理上的代碼倉庫,質(zhì)量基本沒有保證。各產(chǎn)品版本都是從主干拉出的分支,相關(guān)特性都是靠產(chǎn)品經(jīng)理和開發(fā)代表手工挑出來,效率極為低下,質(zhì)量無從保證。從單產(chǎn)品看似乎很“高效”,但各產(chǎn)品功能特性的一致性,質(zhì)量的可繼承性幾乎很難做到,沒有一款存量機(jī)型能夠全網(wǎng)升級新版本。這致使整個軟件團(tuán)隊(duì)工作量很大,但重復(fù)低效且沒有繼承性,令團(tuán)隊(duì)人困馬乏,根本無法應(yīng)對即將到來的海量交付。


從EMUI5.0版本立項(xiàng)開始,交付采用了全解決方案運(yùn)作模式,將用戶交互、OS(操作系統(tǒng))、海思、通信協(xié)議、安卓原生多個模塊納入統(tǒng)一規(guī)劃,同源設(shè)計、同源開發(fā)、同源測試。解決方案依賴關(guān)系識別好、管理好,計劃對齊。同時定下海思Kirin、高通共主干目標(biāo)(MTK平臺2018并入主干,至此,華為EMUI一條主干兼容三大硬件平臺),代碼合入主干嚴(yán)格受控、質(zhì)量優(yōu)先,保證了主干的代碼質(zhì)量。各產(chǎn)品不再需要拉分支,到發(fā)布的點(diǎn)直接按對應(yīng)的產(chǎn)品出版本即可。主干版本每周可實(shí)現(xiàn)一輪全量的自動化測試,質(zhì)量越來越好,交付也越來越高效,并且這個能力可持續(xù)傳承。共主干的實(shí)現(xiàn),雖然讓產(chǎn)品線和軟件研發(fā)團(tuán)隊(duì)都受到了不少“折磨”,但今天的收益讓所有的痛苦都變得很值得。


架構(gòu)是軟件的骨架,是軟件團(tuán)隊(duì)共同工作的基礎(chǔ)和統(tǒng)一語言。EMUI基于安卓原生系統(tǒng),總代碼行數(shù)過億,幾乎是無線產(chǎn)品線產(chǎn)品代碼行數(shù)的兩倍。這么大規(guī)模的代碼,每年都要做大版本升級,而且安卓原生代碼每年的更改量和新增量都超過上千萬行。架構(gòu)的模糊和耦合,讓新增功能的開發(fā),現(xiàn)有功能的修改和變更,甚至BUG的修復(fù)都極其痛苦,血肉骨架混作一團(tuán),牽一發(fā)而動全身。這樣的系統(tǒng)其實(shí)已經(jīng)很難維護(hù)和持續(xù)開發(fā)。架構(gòu)的選擇和解耦成為不得不做的事情。


特別感謝余總和手機(jī)產(chǎn)品線總裁何剛的支持和信任,在人力資源有限的當(dāng)時,允許我拿出40%的人力開始了EMUI全棧的架構(gòu)解耦和重構(gòu)。架構(gòu)部擔(dān)起這個歷史使命,由軟件的8級專家胡征掛帥開始了三年多的架構(gòu)解耦工作,多次的研討和激烈爭論,終于讓這項(xiàng)工作在過去的幾年持續(xù)了下來,并對今天EMUI的交付效率和質(zhì)量,做出了巨大貢獻(xiàn)。一個清晰可解耦的架構(gòu),是軟件團(tuán)隊(duì)內(nèi)部的統(tǒng)一工作基礎(chǔ),也是我們與業(yè)界合作的共同語言,讓我們“抽屜式”替換相應(yīng)的安卓組件成為可能。這也是過去幾年,EMUI可以快速實(shí)現(xiàn)替換文件系統(tǒng)、智能調(diào)度系統(tǒng)、實(shí)現(xiàn)全棧補(bǔ)丁的基礎(chǔ)。谷歌新版本也在吸納我們的優(yōu)秀實(shí)踐。全系統(tǒng)解耦的能力上,我們走在了業(yè)界最前沿。


最后是版本的自動生成能力。手機(jī)版本需求復(fù)雜,有公開渠道、運(yùn)營商渠道等各個不同版本。加上高、中、低檔機(jī)一組合,每年發(fā)布的版本有上萬個。版本管理和發(fā)布都極其復(fù)雜。CBG軟件團(tuán)隊(duì)自行開發(fā)的CCM(版本自動編譯配置平臺)為這個問題的解決立下汗馬功勞。公開市場、運(yùn)營商市場、不同國家、不通過配置等都抽象為一個個可配置的參數(shù),總參數(shù)量幾千個。需要出版本的時候,根據(jù)目標(biāo)市場的需求,選定和修改相應(yīng)的配置后,一鍵配置下發(fā),即可生成對應(yīng)的版本。整個過程高效、高質(zhì)量。這套系統(tǒng)上線以來,我們節(jié)省了200+的軟件配置人力,一直是零差錯平穩(wěn)運(yùn)行。


目前,EMUI日活用戶已接近5億。每個新版本的發(fā)布,除了支撐新機(jī)上市外,越來越多的機(jī)型可以同時升級,讓廣大消費(fèi)者獲得了直接收益,我們也越來越多地獲得了消費(fèi)者的支持和認(rèn)可。


學(xué)習(xí)互聯(lián)網(wǎng)的開發(fā)效率也注重平臺軟件的經(jīng)驗(yàn)積累


近幾年在軟件開發(fā)領(lǐng)域,互聯(lián)網(wǎng)化和DevOps等是非常熱門的話題。我想談一下在EMUI軟件研發(fā)實(shí)踐中的一些體會。EMUI全棧包括了APPs、中間件和OS底層。如果一概要求研發(fā)人員必須年輕,并且必須放棄IPD而采用互聯(lián)網(wǎng)的迭代方式,這種做法不盡合理,容易誤導(dǎo)團(tuán)隊(duì)和領(lǐng)導(dǎo)對EMUI軟件研發(fā)的認(rèn)知。


在軟件工程能力如共主干、架構(gòu)解耦不具備之前,片面地去執(zhí)行年輕化和迭代開發(fā),那將是一場災(zāi)難。上層APPs需要年輕人和快速迭代是對的,但中間件和OS,需要的是經(jīng)驗(yàn)第一,創(chuàng)新第二。沒有多年的經(jīng)驗(yàn),不可能做好底層軟件。沒有好的底層,上層的應(yīng)用體驗(yàn)也不會好到哪里去。EMUI架構(gòu)完全解耦的今天,APPs已經(jīng)完全脫離EMUI平臺獨(dú)立發(fā)展,而且架構(gòu)解耦的思想也落實(shí)到了APPs開發(fā)和實(shí)現(xiàn)中,實(shí)現(xiàn)了自主規(guī)劃、開發(fā)和交付上架,以及全功能團(tuán)隊(duì)的快速迭代,這是非常接近于互聯(lián)網(wǎng)化的開發(fā)模式。而EMUI基礎(chǔ)平臺,仍基于IPD流程,扎扎實(shí)實(shí)按計劃持續(xù)開發(fā)積累,把質(zhì)量做到最佳。全面Copy互聯(lián)網(wǎng),認(rèn)為談IPD而不談DevOps就是落后的代表,是一種誤導(dǎo)。IPD也好,DevOps也好,其實(shí)都是工具,關(guān)鍵是要準(zhǔn)確把握業(yè)務(wù)訴求,根據(jù)業(yè)務(wù)特點(diǎn)選擇最適宜的模式和工具。


結(jié)語


進(jìn)入2019年,隨著換機(jī)周期的拉長和增速的放緩,手機(jī)行業(yè)進(jìn)入到了飽和競爭的狀態(tài)。在硬件已極具競爭力并逐步甩開對手的基礎(chǔ)上,華為軟件已經(jīng)開始持續(xù)發(fā)力,軟硬件緊密配合,將使華為終端的競爭力源源不斷,我們有理由對華為終端的未來充滿期待!


始終聚焦用戶體驗(yàn),夯實(shí)底層核心能力,不斷提高軟件工程能力,構(gòu)筑開放生態(tài),我們有信心將EMUI打造為華為手機(jī)的硬實(shí)力。


用戶體驗(yàn)的提升與創(chuàng)新之路,永無止境。



文章來源:走向智能論壇