華為王成錄:讓軟件成為華為手機的硬實(shí)力 |
新聞類(lèi)別: 行業(yè)動(dòng)態(tài) 瀏覽量:2090 |
近日,華為CBG軟件部總裁王成錄講述了讓軟件成為華為手機硬實(shí)力的歷程,介紹了華為EMUI對安卓系統所做出的方舟編譯器、GPU Turbo、安卓綠色聯(lián)盟等方面的創(chuàng )新和努力。從市場(chǎng)與用戶(hù)的反饋來(lái)看,越來(lái)越多的消費者認可華為手機,這既歸功于華為手機芯片和硬件能力的快速提升,更離不開(kāi)軟件全棧的深度優(yōu)化與技術(shù)創(chuàng )新。
華為王成錄:讓軟件成為華為手機的硬實(shí)力
4月11日,CBG總裁余承東在上海發(fā)布了P30系列手機。發(fā)布會(huì )后,一個(gè)聽(tīng)上去有點(diǎn)晦澀的新名詞——“方舟編譯器”迅速登上了知乎社區的熱搜榜,引發(fā)了IT從業(yè)者、數碼博主、資深碼農乃至普通消費者的極大關(guān)注和廣泛熱議。“編譯器是什么?”“華為方舟編譯器和安卓原生的AOT/JIT(Ahead of Time/Just in Time)有什么區別?” “方舟編譯器對安卓生態(tài)有何意義?”等,網(wǎng)友對各種深淺不一問(wèn)題的討論不亦樂(lè )乎,諸多跟帖評論精彩紛呈,不得不說(shuō)高手在民間。
其中一位網(wǎng)友的評論很有代表性:“昨天的華為發(fā)布會(huì ),讓我感到驚喜的是,在如今這個(gè)年代,會(huì )有一家國內消費電子公司把編譯器作為一大亮點(diǎn)來(lái)介紹。華為在基礎研發(fā)上的持續高投入,加上手機終端市場(chǎng)占有率向全球第一邁進(jìn),使得‘自建生態(tài)’的夢(mèng)想,對一家中國公司而言首次成為可能。”
編譯器是將程序開(kāi)發(fā)用的高級語(yǔ)言轉換成機器指令的軟件,可以理解成軟件與硬件之間的橋梁。那方舟編譯器會(huì )帶來(lái)怎樣的價(jià)值?簡(jiǎn)單點(diǎn)說(shuō),是解決現有安卓這座橋梁并不順暢的頑疾,是對安卓真正深度的優(yōu)化與革新,可以說(shuō)為安卓產(chǎn)業(yè)注入了新的生命力。
而這只是華為一系列軟件創(chuàng )新的最新成果。今天,從市場(chǎng)與用戶(hù)的反饋來(lái)看,越來(lái)越多的消費者認可華為手機長(cháng)期使用后依然流暢,對用華為手機玩游戲體驗不佳的吐槽也越來(lái)越少。這既歸功于華為手機芯片和硬件能力的快速提升,更離不開(kāi)軟件全棧的深度優(yōu)化與技術(shù)創(chuàng )新。
我們深知,任何軟硬件的技術(shù)優(yōu)化和創(chuàng )新探索都必須瞄準用戶(hù)體驗。服務(wù)近5億在網(wǎng)用戶(hù)的華為手機操作系統EMUI是如何圍繞用戶(hù)體驗,不斷進(jìn)行深層創(chuàng )新,推出硬核技術(shù)的?
故事還得從幾年前說(shuō)起。
面向消費者的軟件怎么做
3年前,我在負責2012實(shí)驗室的中央軟件院,7月份,余總的一個(gè)電話(huà),讓我有機會(huì )來(lái)到CBG負責終端軟件的研發(fā)工作。當時(shí)的心情既興奮又忐忑。興奮在于,從進(jìn)公司伊始,我一直從事和軟件緊密相關(guān)的工作。在我心目中,完成大規模工業(yè)化的軟件研發(fā),不啻以虛擬世界的0和1為建筑材料,去設計建造一座宏偉的殿堂。而如何能讓我們的建造成果和過(guò)程都達到世界級,給我們的用戶(hù)和合作伙伴帶來(lái)價(jià)值,一直是我的追求與夢(mèng)想。
忐忑也隨之而來(lái)。雖然都是軟件研發(fā),但是智能手機操作系統對于我是一個(gè)全新的領(lǐng)域。首先是標準化程度大不相同,電信設備軟件有非常完備的行業(yè)標準,ITU、3GPP、IETF等,實(shí)際上把網(wǎng)絡(luò )架構和網(wǎng)元架構標準化了。研發(fā)需要做的就是根據標準協(xié)議,遵從一定的開(kāi)發(fā)流程規范,比如IPD(集成產(chǎn)品開(kāi)發(fā)),以及合理的項目管理來(lái)實(shí)現相應的交付目標。同時(shí),電信設備軟件的需求也是相對清晰和匯聚的,全球幾百家運營(yíng)商的需求百分之七十以上幾乎是一致的,而且設備的日常維護主體是經(jīng)過(guò)專(zhuān)業(yè)化訓練,具有相當技術(shù)水平的運維人員,可以相對清晰準確地反饋設備使用中的各種問(wèn)題。
而面向消費者的軟件則大為不同。廣泛流行的智能手機操作系統最終只留下了iOS和安卓。與封閉的iOS框定一切來(lái)保證體驗不同,安卓是由谷歌主導的AOSP社區開(kāi)源,但原生安卓實(shí)際上是Design Reference(設計參考),具體到每一個(gè)功能如何取舍和擴展,與海量的第三方APPs如何交互,并沒(méi)有詳細而統一的標準可以遵從,都是各個(gè)手機廠(chǎng)家根據自己的硬件平臺、產(chǎn)品定位和目標用戶(hù)群,做大量的適配和優(yōu)化修改,生態(tài)碎片化嚴重。一切只能以消費者體驗為準繩。
在安卓開(kāi)放的大環(huán)境下,怎么做才能實(shí)現最好的用戶(hù)體驗?在iOS已經(jīng)通過(guò)多年的積累樹(shù)立了牢固的領(lǐng)先形象時(shí),怎樣才能讓EMUI被越來(lái)越多的消費者認可,是我和整個(gè)軟件團隊面臨的最大挑戰。
聚焦最大的用戶(hù)痛點(diǎn) “在飛行中換引擎”
我們決定將“用戶(hù)體驗最佳”作為終端軟件追求的目標。而首要解決的問(wèn)題就是,什么最影響用戶(hù)體驗?
經(jīng)過(guò)大量的調查和訪(fǎng)談,團隊很快發(fā)現,最為安卓用戶(hù)詬病的,是長(cháng)期使用后的卡頓,這也是影響消費者體驗的第一大障礙。
一個(gè)熱愛(ài)電子產(chǎn)品的同事和我講述過(guò)他的智能手機使用經(jīng)歷。在安卓手機進(jìn)入大屏年代后,2013年他購買(mǎi)了當時(shí)做得最好的安卓手機S和H,用的還是頂級配置,但用了一年多后,即使每晚不做任何操作,都會(huì )消耗百分之十幾的電量;更讓他無(wú)法忍受的是,卡頓、死機幾乎成了家常便飯,必須要不斷重啟和清理內存才能勉強使用。用他的話(huà)說(shuō),不是我在用手機,而是手機在用我。
為什么即便擁有很高的硬件配置,即便是當時(shí)最好的安卓手機,也會(huì )面臨更多的穩定性和流暢性問(wèn)題?是哪些因素導致了長(cháng)期使用后的卡頓和死機?
我們決定“啃”下卡頓這個(gè)最大的硬骨頭。EMUI團隊成立了專(zhuān)門(mén)的“特戰組”集中攻關(guān)。特戰組詳細分析了安卓系統下四百多臺幾十種機型的手機,經(jīng)過(guò)反復的問(wèn)題重現和軟硬件的全棧分析,共發(fā)現以下四個(gè)導致卡頓、死機的主因:
1. 安卓系統的松散管理,應用對資源的使用缺少規則,就像建了很多道路卻沒(méi)有交通規則,最終是擁塞和混亂;
2. 系統硬件資源協(xié)同缺乏,僅僅靠增加RAM(運行內存)資源不能解決問(wèn)題,而是要更有效地調度與使用資源;
3. 存儲碎片累積效應,隨著(zhù)使用時(shí)間的增加,存儲碎片化日益嚴重,數據讀寫(xiě)速度明顯下降,系統卡頓頻繁、加重;
4. APP膨脹嚴重,特別是頭部應用功能不斷堆積,導致產(chǎn)生的數據急劇增長(cháng),搶占系統資源嚴重,拖累系統運行速度。
這些問(wèn)題,幾乎涉及到從芯片到軟件全棧,如果只是見(jiàn)招拆招被動(dòng)應對,是不可能真正解決問(wèn)題的。必須全面系統分析,才能拿出全面徹底的解決方案。但安卓系統本身極其龐大,代碼行數過(guò)億,在這么龐大的系統上“動(dòng)手術(shù)”,挑戰可想而知。會(huì )不會(huì )在優(yōu)化的同時(shí)導致其它兼容性的問(wèn)題?有沒(méi)有足夠能力實(shí)現預定的目標?
但是,帶著(zhù)有問(wèn)題的引擎勉強飛行,只會(huì )釀成更大的事故。畏縮不前不如放手一搏。通過(guò)大量細致的分析和研判,我們決心破釜沉舟——干!最終,經(jīng)過(guò)專(zhuān)家的反復診斷和討論,拿出了5大“藥方”來(lái)一一解決上述問(wèn)題。
簡(jiǎn)單來(lái)說(shuō),人工智能是核心,對應用側智能分析,判斷應用的資源需求特征(計算密集型、RAM密集型、IO密集型等);對硬件資源側,感知CPU、內存、IO(Input/Output)、存儲等資源狀態(tài),通過(guò)AI算法實(shí)現應用需求與硬件資源的最佳匹配,并及時(shí)合理地整理和回收空閑資源,解決上面提到的硬件資源協(xié)同和APP占用空間過(guò)度膨脹的問(wèn)題。
“抽屜式”替換 為安卓注入新的生命力
對于存儲碎片化的問(wèn)題,我們采取了一個(gè)比較激進(jìn)的方案——替換了安卓原生文件系統。
安卓從誕生之初就直接架構在Linux基礎上,其文件系統最初并未考慮碎片文件的快速整理。長(cháng)時(shí)間以來(lái),安卓手機都是從Linux繼承文件系統,這個(gè)文件系統對智能手機上的Flash存儲并不友好,也是碎片化的主因。我們決定用F2FS(Flash Friendly File System)文件系統來(lái)替換原生的文件系統,不僅因為F2FS是為Flash量身定做,還因為它可以使手機極大程度上避免文件碎片。
F2FS是由友商S公司原創(chuàng )并開(kāi)源的。但S公司自己并沒(méi)有率先使用。因為文件系統決定存儲上所有文件的存儲與訪(fǎng)問(wèn)方式,好比器官移植手術(shù),替換文件系統的復雜度和風(fēng)險是巨大的。
我們雖然在實(shí)驗室仔細驗證了半年多,但替換文件系統的高復雜度和高風(fēng)險,仍然是決策的最大顧慮。軟件管理團隊和技術(shù)團隊多次分析后,最終果斷拍板,并和CBG簽訂了軍令狀,承諾搞不定或出了問(wèn)題就“軍法處置”。
得益于團隊膽大心細的執行力,F2FS文件系統最終替換成功,成為解決卡頓頑疾全方案中最重要的組成部分。
2016年,伴隨著(zhù)Mate 9 系列發(fā)布的EMUI5.0,我們?yōu)檫@個(gè)解決安卓卡頓的方案取了一個(gè)簡(jiǎn)單易懂的名字,叫做“天生快 一生快”,同時(shí)承諾消費者“18個(gè)月不卡頓”,這個(gè)當時(shí)看似“吹牛”的承諾,今天已經(jīng)成為現實(shí)。從市場(chǎng)反應和消費者反饋來(lái)看,在安卓陣營(yíng)里,華為手機率先甩掉了“卡頓”的帽子。
2018年,谷歌將F2FS吸收到安卓原生版本中,所有安卓廠(chǎng)商因此受益,對安卓生態(tài)是很有價(jià)值的貢獻。至今,谷歌的自研手機Pixel 3也使用了F2FS文件系統。
基于理性的技術(shù)判斷和果斷決策,讓我們領(lǐng)先了所有安卓廠(chǎng)商一步。更難能可貴的是,為了實(shí)現安全替換,逼迫我們的團隊沒(méi)有退路地仔細分析了原生系統的底層,邊戰邊練,讓我們的團隊積累了非常寶貴的經(jīng)驗,也嘗到了深度優(yōu)化安卓的甜頭。
第一道考題,我和軟件團隊初步獲得了CBG管理團隊的信任,有了一個(gè)好的起點(diǎn)。
走向生態(tài)協(xié)同的“深水區”
在解決卡頓這個(gè)頑疾的過(guò)程中,我們就發(fā)現安卓生態(tài)的松散是一個(gè)挑戰,這并不能通過(guò)技術(shù)來(lái)解決,但又和用戶(hù)體驗息息相關(guān)。
相較于iOS對生態(tài)的嚴格管控,安卓生態(tài)主要依賴(lài)玩家的自律自覺(jué)。打個(gè)不恰當的比方,安卓原生系統好比谷歌修好的一條高速公路,谷歌設想上路的自然是遵守交通規則的機動(dòng)車(chē),而實(shí)際情況卻是,不但機動(dòng)車(chē)上路了,各種牛車(chē)、馬車(chē)、三輪車(chē)和行人都來(lái)了,加上沒(méi)有交警(優(yōu)先級調度系統)負責管理,擁堵就成了常態(tài)。
這種狀況在國內尤甚。手機廠(chǎng)家不斷投入的技術(shù),只是把端側的運行環(huán)境做得越來(lái)越高效、整潔。但應用市場(chǎng)的魚(yú)龍混雜對用戶(hù)體驗影響巨大,各安卓手機廠(chǎng)家不僅擁有自家的應用市場(chǎng),還有種類(lèi)繁多的第三方應用市場(chǎng),再加上通過(guò)瀏覽器鏈接就能下載安裝App,還有各種木馬App、惡意軟件,互相引導安裝、偽裝后臺、無(wú)限制申請手機系統資源等,帶來(lái)的問(wèn)題就是Apps對安卓系統資源的使用極不規范,甚至是惡意使用。
“病從口入”,導致的結果就是,用戶(hù)體驗不斷受損。
華為面臨一個(gè)選擇,是隨大流,還是牽頭豎起大旗,聯(lián)合重量級生態(tài)玩家,逐步規范、凈化安卓生態(tài),把優(yōu)質(zhì)的體驗還給消費者?
僅僅依靠手機廠(chǎng)家自身的持續技術(shù)投入和優(yōu)化已然不夠,走向生態(tài)協(xié)同的“深水區”是華為終端軟件必須要邁出的一步。
經(jīng)過(guò)大量的前期溝通討論,2016年11月14日,在上海的Mate 9系列發(fā)布會(huì )上,華為聯(lián)合阿里巴巴、百度、騰訊、網(wǎng)易四家企業(yè)共同發(fā)起了安卓綠色聯(lián)盟。作為一個(gè)開(kāi)放的非盈利性組織,希望共同構建中國安卓綠色應用環(huán)境,打造安全、可靠、可信、健康的應用生態(tài),把極致的應用體驗帶給消費者。
安卓綠色聯(lián)盟成立后,集中發(fā)起廠(chǎng)家的經(jīng)驗和智慧,陸續推出了《安卓綠色聯(lián)盟應用體驗標準》的1.0和2.0版本,涵蓋了應用安裝與運行的兼容性、穩定性、安全、功耗和性能標準。同時(shí)發(fā)展會(huì )員企業(yè)超過(guò)1000家,覆蓋80%的主流應用。
在安卓綠色聯(lián)盟平臺上,華為提供了超過(guò)3千臺測試真機,免費向所有安卓應用開(kāi)發(fā)者開(kāi)放,只要遠程登錄,即可申請到相應的測試資源并執行測試;同時(shí),華為把安卓最新版本的變化及時(shí)分享給國內開(kāi)發(fā)者,大大提升了安卓應用在新版本上的適配效率。
對于通過(guò)了《安卓綠色應用體驗標準》的應用打上“綠色應用”標記,讓消費者在應用下載時(shí)對應用質(zhì)量的了解一目了然,可以安心使用。通過(guò)2年多的協(xié)作,綠盟已幫助超過(guò)20萬(wàn)開(kāi)發(fā)者進(jìn)行免費測試、牽引Top 3000安卓應用降低了高功耗與權限濫用行為。消費者、應用開(kāi)發(fā)者、互聯(lián)網(wǎng)廠(chǎng)商和手機廠(chǎng)家都因此受益。整個(gè)安卓生態(tài)的參與者,都愿意在這個(gè)平臺上共享經(jīng)驗、共同創(chuàng )新。2018年還成立了AI開(kāi)放生態(tài)合作、AI安全設計方案、AR、游戲加速四大創(chuàng )新工作組。
我們將和伙伴一起把安卓綠色聯(lián)盟持續的發(fā)展壯大下去,希望她能成為整個(gè)產(chǎn)業(yè)的一盞明燈,優(yōu)勝劣汰,為所有安卓用戶(hù)帶來(lái)極致的應用體驗。
“嚇人”的GPU Turbo背后
2018年6月,余總在北京發(fā)布“嚇人的技術(shù)”GPU Turbo,不但引起了其他廠(chǎng)商對于“嚇人”和“Turbo”的跟風(fēng),也在一些主要的科技論壇引起了關(guān)于背后技術(shù)的大討論。
游戲產(chǎn)業(yè)在手機上的迅猛發(fā)展超乎很多人的預料,幾乎一半以上的用戶(hù)都是手游用戶(hù)。早在2016年,國內的手游已經(jīng)占據了游戲市場(chǎng)的半壁江山,而且如王者榮耀、吃雞等“硬核化”游戲的普及,將游戲對于手機圖形處理能力的要求推向了前所未有的高度。而受限于A(yíng)RM Mali GPU的限制,在與其他頂級友商的GPU的PK中,華為手機用戶(hù)對游戲體驗的吐槽急劇增多。
手游的體驗是不是只能依賴(lài)GPU的處理能力,或者類(lèi)似某些所謂的游戲手機堆料來(lái)實(shí)現?能不能像整機性能一樣通過(guò)軟硬協(xié)同來(lái)優(yōu)化?這些問(wèn)題進(jìn)入了我們的視野。說(shuō)干就干,相關(guān)工作馬上開(kāi)始啟動(dòng)。
2017年2月,我們發(fā)起了一場(chǎng)中西合璧的針對手機圖形處理性能的攻關(guān)。雖然新加入的海外圖形處理專(zhuān)家給出了很有價(jià)值的思路,但是整個(gè)攻關(guān)過(guò)程并非一馬平川。其中經(jīng)歷了無(wú)數次嘗試、接近、又推倒重來(lái)的過(guò)程。“勝則舉杯同慶,敗則拼死相救”,來(lái)自美國、芬蘭、俄羅斯和深圳、杭州、南京、上海的相應領(lǐng)域專(zhuān)家們,不論部門(mén),不分晝夜,最終達成了預期的目標。
當最后我們說(shuō)出GPU Turbo 可以提升游戲性能的同時(shí)降低功耗,業(yè)界開(kāi)始是一片質(zhì)疑,都覺(jué)得這個(gè)邏輯違反常理。但我們有充足的底氣,從GPU Pipeline(處理隊列)、CPU/GPU聯(lián)合調度,到OPEN GL(開(kāi)放圖形庫)各指令的詳細解讀和細致調整,再到圖形處理引擎的重構和應用負載的清洗,完整的全棧分析和解決方案,讓我們有足夠的技術(shù)自信,敢于公開(kāi)我們的目標和承諾。
6月6日,發(fā)布會(huì )現場(chǎng),知名技術(shù)平臺現場(chǎng)直播搭載GPU Turbo的榮耀Play和其他友商手機的同款游戲對決。在幀率、抖動(dòng)率、掉幀、耗電等硬指標上,榮耀Play獲勝!一個(gè)多小時(shí)的實(shí)時(shí)對戰,讓業(yè)界見(jiàn)識了GPU Turbo的實(shí)力。GPU Turbo上市之后的反響超出預期,而各種第三方自發(fā)的評測也證實(shí)華為手機坐穩了游戲性能的第一陣營(yíng)。
任何成功的背后,都是艱辛和汗水,所有參與GPU Turbo項目的研發(fā)弟兄們,經(jīng)歷過(guò)多少個(gè)不眠之夜已經(jīng)記不得了。而我們始終牢記,潛心投入技術(shù),聚焦提升用戶(hù)體驗,才是持續改變用戶(hù)觀(guān)念,提升品牌與口碑的王道。
軟件工程里的“硬核”技術(shù)
2018年7月初,GPU Turbo上市的余熱還未散去,忽然一起用戶(hù)投訴引起了維護與營(yíng)銷(xiāo)團隊的注意。相當多的用戶(hù)在升級GPU Turbo之后,隨著(zhù)某款熱門(mén)游戲的一次更新,不少場(chǎng)景出現了花屏。由于涉及華為和游戲廠(chǎng)商,究竟是誰(shuí)的問(wèn)題,中間是不是有什么故事,迅速成為媒體熱炒的內容,一時(shí)間各種說(shuō)法紛至沓來(lái)。
盡管聲音很多,但對我們來(lái)說(shuō),用戶(hù)的體驗才是最重要的。僅僅2天之后,EMUI團隊把2MB左右的補丁包快速推出,迅速解決了問(wèn)題。我們的快速反應能力,受到了廣大消費者幾乎一致的好評。
這種快速的補丁升級能力,在終端領(lǐng)域,華為是獨有的,其他安卓廠(chǎng)家并不具備。這背后,是EMUI團隊這幾年持續構筑的軟件工程能力:代碼共主干、全棧架構解耦、版本自動(dòng)化生成三個(gè)硬核能力。
工欲善其事必先利其器,軟件工程能力是軟件研發(fā)的“器”。強大的軟件工程能力是軟件研發(fā)的重要組成部分,也是軟件研發(fā)的硬核技術(shù)。
三年多以前的EMUI,基于海思Kirin、高通、MTK芯片的主干各不相同。主干只是物理上的代碼倉庫,質(zhì)量基本沒(méi)有保證。各產(chǎn)品版本都是從主干拉出的分支,相關(guān)特性都是靠產(chǎn)品經(jīng)理和開(kāi)發(fā)代表手工挑出來(lái),效率極為低下,質(zhì)量無(wú)從保證。從單產(chǎn)品看似乎很“高效”,但各產(chǎn)品功能特性的一致性,質(zhì)量的可繼承性幾乎很難做到,沒(méi)有一款存量機型能夠全網(wǎng)升級新版本。這致使整個(gè)軟件團隊工作量很大,但重復低效且沒(méi)有繼承性,令團隊人困馬乏,根本無(wú)法應對即將到來(lái)的海量交付。
從EMUI5.0版本立項開(kāi)始,交付采用了全解決方案運作模式,將用戶(hù)交互、OS(操作系統)、海思、通信協(xié)議、安卓原生多個(gè)模塊納入統一規劃,同源設計、同源開(kāi)發(fā)、同源測試。解決方案依賴(lài)關(guān)系識別好、管理好,計劃對齊。同時(shí)定下海思Kirin、高通共主干目標(MTK平臺2018并入主干,至此,華為EMUI一條主干兼容三大硬件平臺),代碼合入主干嚴格受控、質(zhì)量?jì)?yōu)先,保證了主干的代碼質(zhì)量。各產(chǎn)品不再需要拉分支,到發(fā)布的點(diǎn)直接按對應的產(chǎn)品出版本即可。主干版本每周可實(shí)現一輪全量的自動(dòng)化測試,質(zhì)量越來(lái)越好,交付也越來(lái)越高效,并且這個(gè)能力可持續傳承。共主干的實(shí)現,雖然讓產(chǎn)品線(xiàn)和軟件研發(fā)團隊都受到了不少“折磨”,但今天的收益讓所有的痛苦都變得很值得。
架構是軟件的骨架,是軟件團隊共同工作的基礎和統一語(yǔ)言。EMUI基于安卓原生系統,總代碼行數過(guò)億,幾乎是無(wú)線(xiàn)產(chǎn)品線(xiàn)產(chǎn)品代碼行數的兩倍。這么大規模的代碼,每年都要做大版本升級,而且安卓原生代碼每年的更改量和新增量都超過(guò)上千萬(wàn)行。架構的模糊和耦合,讓新增功能的開(kāi)發(fā),現有功能的修改和變更,甚至BUG的修復都極其痛苦,血肉骨架混作一團,牽一發(fā)而動(dòng)全身。這樣的系統其實(shí)已經(jīng)很難維護和持續開(kāi)發(fā)。架構的選擇和解耦成為不得不做的事情。
特別感謝余總和手機產(chǎn)品線(xiàn)總裁何剛的支持和信任,在人力資源有限的當時(shí),允許我拿出40%的人力開(kāi)始了EMUI全棧的架構解耦和重構。架構部擔起這個(gè)歷史使命,由軟件的8級專(zhuān)家胡征掛帥開(kāi)始了三年多的架構解耦工作,多次的研討和激烈爭論,終于讓這項工作在過(guò)去的幾年持續了下來(lái),并對今天EMUI的交付效率和質(zhì)量,做出了巨大貢獻。一個(gè)清晰可解耦的架構,是軟件團隊內部的統一工作基礎,也是我們與業(yè)界合作的共同語(yǔ)言,讓我們“抽屜式”替換相應的安卓組件成為可能。這也是過(guò)去幾年,EMUI可以快速實(shí)現替換文件系統、智能調度系統、實(shí)現全棧補丁的基礎。谷歌新版本也在吸納我們的優(yōu)秀實(shí)踐。全系統解耦的能力上,我們走在了業(yè)界最前沿。
最后是版本的自動(dòng)生成能力。手機版本需求復雜,有公開(kāi)渠道、運營(yíng)商渠道等各個(gè)不同版本。加上高、中、低檔機一組合,每年發(fā)布的版本有上萬(wàn)個(gè)。版本管理和發(fā)布都極其復雜。CBG軟件團隊自行開(kāi)發(fā)的CCM(版本自動(dòng)編譯配置平臺)為這個(gè)問(wèn)題的解決立下汗馬功勞。公開(kāi)市場(chǎng)、運營(yíng)商市場(chǎng)、不同國家、不通過(guò)配置等都抽象為一個(gè)個(gè)可配置的參數,總參數量幾千個(gè)。需要出版本的時(shí)候,根據目標市場(chǎng)的需求,選定和修改相應的配置后,一鍵配置下發(fā),即可生成對應的版本。整個(gè)過(guò)程高效、高質(zhì)量。這套系統上線(xiàn)以來(lái),我們節省了200+的軟件配置人力,一直是零差錯平穩運行。
目前,EMUI日活用戶(hù)已接近5億。每個(gè)新版本的發(fā)布,除了支撐新機上市外,越來(lái)越多的機型可以同時(shí)升級,讓廣大消費者獲得了直接收益,我們也越來(lái)越多地獲得了消費者的支持和認可。
學(xué)習互聯(lián)網(wǎng)的開(kāi)發(fā)效率也注重平臺軟件的經(jīng)驗積累
近幾年在軟件開(kāi)發(fā)領(lǐng)域,互聯(lián)網(wǎng)化和DevOps等是非常熱門(mén)的話(huà)題。我想談一下在EMUI軟件研發(fā)實(shí)踐中的一些體會(huì )。EMUI全棧包括了APPs、中間件和OS底層。如果一概要求研發(fā)人員必須年輕,并且必須放棄IPD而采用互聯(lián)網(wǎng)的迭代方式,這種做法不盡合理,容易誤導團隊和領(lǐng)導對EMUI軟件研發(fā)的認知。
在軟件工程能力如共主干、架構解耦不具備之前,片面地去執行年輕化和迭代開(kāi)發(fā),那將是一場(chǎng)災難。上層APPs需要年輕人和快速迭代是對的,但中間件和OS,需要的是經(jīng)驗第一,創(chuàng )新第二。沒(méi)有多年的經(jīng)驗,不可能做好底層軟件。沒(méi)有好的底層,上層的應用體驗也不會(huì )好到哪里去。EMUI架構完全解耦的今天,APPs已經(jīng)完全脫離EMUI平臺獨立發(fā)展,而且架構解耦的思想也落實(shí)到了APPs開(kāi)發(fā)和實(shí)現中,實(shí)現了自主規劃、開(kāi)發(fā)和交付上架,以及全功能團隊的快速迭代,這是非常接近于互聯(lián)網(wǎng)化的開(kāi)發(fā)模式。而EMUI基礎平臺,仍基于IPD流程,扎扎實(shí)實(shí)按計劃持續開(kāi)發(fā)積累,把質(zhì)量做到最佳。全面Copy互聯(lián)網(wǎng),認為談IPD而不談DevOps就是落后的代表,是一種誤導。IPD也好,DevOps也好,其實(shí)都是工具,關(guān)鍵是要準確把握業(yè)務(wù)訴求,根據業(yè)務(wù)特點(diǎn)選擇最適宜的模式和工具。
結語(yǔ)
進(jìn)入2019年,隨著(zhù)換機周期的拉長(cháng)和增速的放緩,手機行業(yè)進(jìn)入到了飽和競爭的狀態(tài)。在硬件已極具競爭力并逐步甩開(kāi)對手的基礎上,華為軟件已經(jīng)開(kāi)始持續發(fā)力,軟硬件緊密配合,將使華為終端的競爭力源源不斷,我們有理由對華為終端的未來(lái)充滿(mǎn)期待!
始終聚焦用戶(hù)體驗,夯實(shí)底層核心能力,不斷提高軟件工程能力,構筑開(kāi)放生態(tài),我們有信心將EMUI打造為華為手機的硬實(shí)力。
用戶(hù)體驗的提升與創(chuàng )新之路,永無(wú)止境。
文章來(lái)源:走向智能論壇 |