IT之家 1 月 9 日消息,騰訊“鵝廠黑板報”公眾號今日發(fā)文談及微信鴻蒙版的開發(fā)歷程,其表示:“站在正式版發(fā)布的 1 月 9 日,或許這一切都可以風(fēng)輕云淡地說:the show must go on。但這過去的 295 天里,他們的經(jīng)歷,我們認為值得記錄下來,分享給關(guān)心微信鴻蒙版的用戶朋友們。”
IT之家附全文如下:
直至現(xiàn)在,「微信鴻蒙版」這五個字,依然被賦予著太多意義。
這是一款產(chǎn)品,也不僅僅是一款產(chǎn)品。開發(fā)它的本質(zhì),是讓兩個高速前進,相互影響的復(fù)雜系統(tǒng),彼此磨合和熟悉,像是執(zhí)行一場空中加油任務(wù)。
不管外界如何評價和鞭策,這款產(chǎn)品本身,依然需要研發(fā)團隊一個鍵一個鍵敲出來,從內(nèi)核,到架構(gòu),到內(nèi)測,到公測,再到一輪一輪的 debug,他們要在不到一年的時間里,走完微信 14 年的路。
回顧鵝廠所做過的產(chǎn)品里,也許從未有過一款,被如此放在放大鏡下凝視。每一次上架,每一個 bug,乃至于每一個里程碑,幾乎都預(yù)定當天熱搜。
站在正式版發(fā)布的 1 月 9 日,或許這一切都可以風(fēng)輕云淡地說:the show must go on。但這過去的 295 天里,他們的經(jīng)歷,我們認為值得記錄下來,分享給關(guān)心微信鴻蒙版的用戶朋友們。
2024 年 3 月,集結(jié)
鵝廠指派了從塞班(Symbian)時期就負責微信開發(fā)工作的團隊,來主導(dǎo)微信鴻蒙版。從塞班到智能手表、車機、Linux PC 端的微信,這個團隊在內(nèi)部素以擅長攻克不同環(huán)境、不同語言的開發(fā)工作著稱。
同樣很重要的一點是,得益于智能手表端微信的研發(fā)工作,微信和華為的兩個團隊是老相識,這也讓雙方的對接更加順暢緊密起來。從三月貫穿到四月,兩邊通過拉通會、分享會學(xué)習(xí)鴻蒙系統(tǒng)研發(fā)框架,不定時組織技術(shù)專題討論。
雙方都很清楚,這不是一場三天兩夜就能解決的小規(guī)模戰(zhàn)斗,而是曠日持久的兵團級戰(zhàn)役。兵馬未動,糧草先行,敲下第一行代碼之前,還有許許多多的工作需要準備。
2024 年 4 月,基建
萬丈高樓平地起,基建是最重要的第一步。
搞基建,“三通一平”(通電 / 通路 / 通水 / 土地平整)是基本要求,進取一些,可以做到“五通一平”(加入通訊 / 排污),再進一步,還有“七通一平”(加入通氣 / 有線電視),乃至于“十通一平”(加入寬帶 / 鐵路 / 暖氣)。通得越多,越有利于后期擴展和長遠發(fā)展。
經(jīng)過塞班、手機、手表等各種終端上的長期打磨,這個團隊積累了一套名為 Alita(阿麗塔)的跨平臺內(nèi)核。這也為鴻蒙版微信的基建打下了基礎(chǔ)。這個階段的重中之重是,快速熟悉鴻蒙系統(tǒng),移植基礎(chǔ)庫,讓 Alita 內(nèi)核能夠在鴻蒙系統(tǒng)上運行起來,和華為一邊溝通、一邊驗證推進。
2024 年 5 月,架構(gòu)
接下來考驗的是架構(gòu)能力。開發(fā)團隊需要設(shè)計好鴻蒙微信客戶端的架構(gòu)、編寫好各模塊文檔,支撐各業(yè)務(wù)進場后能夠高效開發(fā)。
這一步的難點,在于充分預(yù)判到業(yè)務(wù)之間的復(fù)雜解耦,既要降低各業(yè)務(wù)之間的依賴性,又要提高整體的穩(wěn)定性,還要留出高可擴展性,屬于典型的“我全都要”難題。
這就好比從零開始建設(shè)一座城市,要預(yù)估到這座百年之后超級都市的人口規(guī)模、交通狀況、人居需求、產(chǎn)業(yè)結(jié)構(gòu)、商業(yè)發(fā)展等因素,以及提前平衡這些因素之間的關(guān)系,需要具備極大的前瞻視角。
技術(shù)團隊繼續(xù)搖人,招聘也快馬加鞭推進。TAPD(騰訊敏捷產(chǎn)品研發(fā)平臺)流程圖里,他們的首個目標是做出一個基礎(chǔ)版本,保證用戶能實現(xiàn)收發(fā)消息、語音通話等最基礎(chǔ)、也是最重要的功能。
2024 年 6 月,磨合
進入了真正的手搓環(huán)節(jié)。flutter(跨平臺應(yīng)用程序開發(fā)框架)、liteapp(專為移動端設(shè)計的跨平臺開發(fā)框架)等,都是這個階段的關(guān)鍵工作。
為了這桌“年夜飯”,技術(shù)小哥們一邊在廚房切菜燒飯,一邊去客廳招呼各方沏茶倒水,讓支付和 VoIP(語音通話技術(shù))等基礎(chǔ)能力陸續(xù)湊上一桌。
除了內(nèi)外部密切的技術(shù)溝通,微信和華為團隊對彼此的技術(shù)標準保持了互相尊重。以相冊選圖發(fā)送功能為例,在 Android 系統(tǒng)上,選圖需要獲取整個相冊權(quán)限,也就是說應(yīng)用可以訪問用戶的所有照片。在鴻蒙上的選圖功能,為了保障用戶隱私,微信采用的是 Picker 控件的方式,相冊照片的展示和選擇邏輯都由 Picker 控件提供,微信只能讀取到用戶勾選的照片。
第一個里程碑,bug 如約而至
趕在 6 月 21 日前,團隊做好了第一個內(nèi)部體驗版本,包含收發(fā)消息、通話功能。和 2011 年 1 月 21 日發(fā)布的 iOS 和安卓版的微信 1.0 版本相比,多了語音消息發(fā)送。
你可能會不以為然:大動干戈這么久,就整了個這毛坯房?
其實這里蘊含的開發(fā)思路,是驗證最小可用的原則,本質(zhì)上是對第一階段研究鴻蒙語言和系統(tǒng)的成果驗收。重要的是把基本功練好,才能為后續(xù)的開枝散葉打好底子。
但即便是如此普通的版本,也出了個閃退型 bug,最后查出來是系統(tǒng)的底層 API 問題:同樣的代碼邏輯,在 iOS 和安卓上能用,但在鴻蒙上行不通。兩邊團隊為此絞盡腦汁,交了兩個星期的學(xué)費,最后還是靠著某位技術(shù)小哥靈光一現(xiàn)想到的。
這個 bug 也像是一場結(jié)業(yè)考試,經(jīng)此一役,開發(fā)進入了快節(jié)奏。
微信集合了眾多產(chǎn)品功能,各功能間又有復(fù)雜的交互和依賴關(guān)系,比如小程序的開發(fā)就涉及到與支付功能的打通,而支付能力又需要與基礎(chǔ)會話功能打通。在完成基建的前提下,基礎(chǔ)、支付、小程序…… 能進場的業(yè)務(wù)模塊都陸續(xù)進了場。一個共同的目標是 ——10 月 8 號鴻蒙公測那天,做出一個新版本。這個版本,將新增微信支付、朋友圈等功能。
2024 年 10 月 8 日:喜歡您來
10 月 8 日,微信鴻蒙原生版開啟內(nèi)測邀請,嘗鮮版本包含基礎(chǔ)社交通訊音視頻通話、朋友圈、微信支付的二維碼收 / 付款等功能。
內(nèi)測開啟,意味著微信和其他所有適配原生鴻蒙的第三方 App 一樣,從內(nèi)測到應(yīng)用嘗鮮再到公測,走上了鴻蒙系統(tǒng)第三方軟件開發(fā)的三部曲。
為什么要限量內(nèi)測而不是一口氣開放下載呢?
在全新的平臺上,要支撐海量用戶、高并發(fā)通訊需求,同時涉及支付、小程序、視頻等多個大功能模塊,還要滿足極高頻使用下的穩(wěn)定性,是很大的挑戰(zhàn)。
所以,用內(nèi)測 → 找 bug → 修 bug → 加大內(nèi)測的方式,是一個更符合軟件開發(fā)規(guī)律的方式。
經(jīng)歷了 4 天緊張的測試和 debug,包括微信支付在內(nèi)的多個功能經(jīng)過嚴格測試流程后,合入大版本,10 月 12 日,微信鴻蒙原生版正式開始公測。
2024 年 10 月~11 月:這都能遇到灰產(chǎn)啊啊啊
公測放量過程中,有一次實際登錄人數(shù)不到放量總數(shù)的十分之一?
某平臺上竟然有人公然售賣測試名額?
一系列插曲打破了原定的放量節(jié)奏,雙方共同排查后發(fā)現(xiàn),原來有人把安裝包拿去二手平臺牟利。應(yīng)用商店完善機制后,把漏洞補上。
安裝包都能拿來賣,也堪稱是國產(chǎn)軟件開發(fā)史上濃墨重彩的一筆。
微信鴻蒙版在嘗鮮專區(qū)上線了 2 萬測試名額,但后臺顯示,登錄數(shù)據(jù)一直較低,我們和華為一同復(fù)盤發(fā)現(xiàn),因為有人用腳本去搶名額,觸發(fā)了應(yīng)用商店的安全機制,同時擾亂了應(yīng)用商店的計數(shù)邏輯,導(dǎo)致大概 90% 的放量被攔截,最終實際下載的用戶只有 10% 左右。
又是濃墨重彩的一筆……
如何讓用戶盡可能體驗到微信測試版本?
在基本保障嘗鮮專區(qū)不斷檔的情況下,11 月 6 日,雙方緊急協(xié)商,華為將微信鴻蒙版的測試名額大幅擴容,微信再次邀請擴容后的用戶分批有序參與內(nèi)測,共同完善新版本的各種體驗。
在不斷收集用戶反饋、歷經(jīng)數(shù)次迭代后,目前的版本已經(jīng)可以使用視頻號、聊天引用、發(fā)文件等功能,所有鴻蒙用戶也都可以直接下載,更多功能在持續(xù)上線。
2025 年 1 月 9 日:不止是微信
吸收了廣大用戶的反饋和多輪 debug 后,鴻蒙版微信順利結(jié)束公測,1 月 9 日正式版本上線。你除了能穩(wěn)定下載和使用微信外,還可以用到 QQ、騰訊視頻、騰訊新聞、QQ 音樂等 App。
自今年起,騰訊 20 多款產(chǎn)品通過敏捷開發(fā),實現(xiàn)鴻蒙系統(tǒng)的適配工作,更多騰訊的產(chǎn)品適配也在路上。
一個發(fā)生在 2024 年 10 月 29 日的插曲,某種程度上,可以反映微信鴻蒙版開發(fā)團隊的工作情形和協(xié)作流程。
19:20,項目組微信支付團隊發(fā)現(xiàn),即將要上架的最新嘗鮮版的微信,小部分用戶轉(zhuǎn)賬入口出現(xiàn) bug,點擊后無反應(yīng)。
20:15,客服團隊同步后臺客訴情況。
20:57,微信支付團隊初步定位,有問題的代碼是今日合入導(dǎo)致的,疑似是 LiteApp(跨端的框架,微信轉(zhuǎn)賬是鴻蒙第一個使用這個框架的功能)的問題。
21:31,進一步定位問題,發(fā)現(xiàn)在一些極端情況下,LiteApp 的文件緩存寫入被系統(tǒng)提示權(quán)限不足,聯(lián)系華為技術(shù)團隊一起定位。
21:47,支付技術(shù)團隊完成最新內(nèi)測版微信的修復(fù),合入后,提交版本給測試團隊。
22:32,支付技術(shù)團隊復(fù)盤問題,提出后續(xù)改進措施。
22:41,微信基礎(chǔ)技術(shù)團隊向華為應(yīng)用商店提審新版本內(nèi)測包。
22:54,向華為應(yīng)用商店提審嘗鮮版。
23:30,最新嘗鮮版微信通過審核,上架嘗鮮專區(qū),轉(zhuǎn)賬問題修復(fù)。
微信公眾平臺曾有一句 slogan 深入人心:再小的個體,也有自己的品牌。同樣的,再小的問題,放在微信上,都會被億量級地擴大。
我們知道,永遠等不來“完美交付”這一天?;叶葴y試、持續(xù)迭代,讓產(chǎn)品在和用戶的互動中得到改進,是騰訊一直以來的產(chǎn)品理念。
感謝微信用戶、鴻蒙用戶始終跟我們站在一起,7x24 小時反饋 bug、提出優(yōu)化意見。如果把新產(chǎn)品開發(fā)比作一場足球賽,那希望你們一直都在,做我們敏捷開發(fā)“球隊”的第 12 人。
廣告聲明:文內(nèi)含有的對外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。