5 月 16 日消息,2023 年 6 月 27 日,手機QQ安卓8.9.63 / iOS 8.9.65發布,這是手機QQ首個基于NT架構的正式版,2023 年 7 月 3 日,NT架構 Windows QQ 上架官網,跨平臺三端重構正式統一。騰訊開發者何金源今日發文,介紹了手機QQ技術架構升級背后的技術故事。
2020 年,QQ 開發團隊開始著手做架構升級。鑒于手機QQ的業務復雜度、代碼量級都非常大,于是他們采用分階段、逐步演進的策略去進行架構升級。
手機QQ新架構按業務劃分模塊,業務模塊之間相互解耦,通過接口和路由進行通信。同時按層級設計劃分,層級自上而下依賴,上層模塊可依賴下層模塊,但下層模塊不能逆向依賴上層模塊。
由于 QQ 不同平臺客戶端各自發展,代碼復用率極低,開發和維護成本過高,還導致了多端體驗不一致、端內業務體驗參差不齊等問題,開發團隊決定推進手機QQ NT架構升級項目。
為了實現架構升級和統一,項目團隊先用C++開發了具備QQ IM核心功能的跨平臺內核層:把IM核心業務邏輯(注:好友、群、頻道等消息邏輯、資料與關系鏈邏輯、圖片語音視頻等富媒體收發邏輯、實時音視頻邏輯等),QQ通用組件,以及線程 / 網絡 / IO等通用資源管理模塊和操作系統封裝部分,由原來的各平臺原生語言實現,統一下沉到C++跨平臺層。
為了控制項目質量風險,NT跨平臺內核先接入用戶量相對較少,對功能補齊緊迫度高的桌面端,完全用新架構重寫桌面端。在桌面端完成功能驗證和質量測試之后,開始向移動端遷移,并順利完成了iOS和安卓平臺的集成。
開發團隊基于重構后的架構,對性能進行全面優化。以聊天窗口(AIO)為例,基于全新數據流架構+數據預加載+ UI邏輯并行化的設計思路,完成單向數據流驅動與異步加載渲染,系統資源全力供給AIO消息列表,最終性能指標提升明顯,AIO內查看、跳轉、滑動消息“順暢絲滑”。其它QQ主場景,如消息列表頁、消息與富媒體收發、圖片視頻查看等,也采用相同的路徑進行優化,最終性能全面提升。
本文鏈接:http://www.www897cc.com/showinfo-119-88419-0.htmlQQ 大一統 NT 架構,騰訊開發者介紹技術架構升級變遷史
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com