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