“巨型屎山”QQ桌面版終於要重做,但騰訊還是被罵慘了_風聞
差评-差评官方账号-01-19 08:02
本文原創於微信公眾號:差評 作者:差評君
每次打開 QQ 桌面版,世超都有一種回到小時候的感覺 —— 這可不是對 QQ 的誇獎。
作為一個 20 多歲的互聯網活化石,在不斷的修修補補、增增減減之後,QQ 電腦版也和微軟 Win11 一樣,存在着很多不協調的 “ 割裂感 ” 。

就比方説,本來就不算大的主界面裏,愣是存在着三個可展開的選項菜單。
主要的功能按鈕也被劃分到了頂部、中間、底部。
並且還被分別賦予了 “ 小圖標 ” 、 “ 純文字 ” 、 “ 中圖標 ” 三種展現形式。

尤其是這兩年 “ 移動文化 ” 的反哺,QQ 電腦版也開始迎合 “ 潮流 ” 。
先是出現了個獨立於主界面、神似國外語音軟件 Discord 的 “ QQ頻道 ” 模塊。。。
然後是往桌面版增加了個用來刷短視頻的 “ QQ 小世界 ” 。
類似這樣的操作更加深了 QQ 桌面版體驗和觀感上的割裂。。。

所以也難怪了。。。為什麼會有那麼多 QQ 用户自發在網上勸大家 “ 改用 TIM ” :
作為一個最近幾年 QQ 團隊搞出來的新項目,這個 “ QQ 官方辦公簡潔版 ” 沒有糅合太多的東西。
並且整個界面的設計語言也比較統一和現代化。。。一眼合理。

不過 TIM 也有自己的問題:比如太強調 “ 辦公 ” 屬性了,把強調個性的一些氣泡、動畫、裝扮什麼也給砍掉了。
所以。。。目前的現狀就有點不上不下 ——
大家要麼忍受一團漿糊的 QQ 桌面版;要麼犧牲一些功能便利,使用 TIM 桌面版。
當然了還有一些魔改操作,不過因為有概率導致封號,世超在這裏就不贅述了。。。
但是就在前一陣,有消息説 QQ 桌面版即將迎來一次 “ 史詩級重構 ” !

據説這個版本會在 2023 年春節之後正式發佈,UI 界面更加大氣、現代化。
而且以後的 QQ 將會在 Windows / MacOS / Linux 三個系統上同步更新!
連 Linux 都有!!!統信 UOS 、中科紅旗、深度、Ubuntu 操作系統的用户們,你們等這一天可等太久了。。。

然而。。。隨着時間的推移,內測版、公測版的陸續發佈,這個 “ QQ 2023 重構計劃 ” 非但沒有得到大家的肯定,甚至還有人直接開罵了。
原因在於,騰訊這次放着原本自家的 Hummer 框架、開源高效的 Qt 框架不用,扭頭選擇了Electron框架!
我説到這兒,估計有些懂開發的差友已經懂了 ( 並且心臟驟停了 ) 。
因為。。。這個框架對老電腦 ( 尤其小內存 ) 的用户們 —— 非、常、不、友、好!

可能有些小夥伴還是沒納過悶來,所以我們再稍微展開講一講:
一切的一切,都要從 Chrome 瀏覽器這個 “ 萬惡之源 ” 説起。。。
等一等,我們剛剛不是在聊寫代碼嗎,怎麼突然扯到谷歌瀏覽器身上了?

emmmmm,大家先別急,麻煩大傢伙先跟我一起回想個事:
你還記得谷歌 Chrome 瀏覽器發佈之前,微軟 IE 6.0 時代的網頁們,長什麼樣子嘛?
不記得沒關係,我在這裏貼張圖大家感受一下。。。

巨醜,純文字,而且幾乎沒有動畫 —— 有動畫通常也是外掛了 Flash 插件和文件的結果。。。
但是這種網頁如今幾乎已經絕跡了,Flash 也壽終正寢了。

現在的網頁,連網址導航的動畫都絲滑流暢,WPS、聊天、甚至 Photoshop 一類的軟件可以直接做出全功能的網頁版。
甚至就連需要調用顯卡的 2.5D 端遊,都直接 Web 化了。

歸根結底,這一切能實現。。。在於 Chrome 內置的 Blink ( 渲染引擎 )/ V8( JS 解釋器 ) 太吊了。
有人説 Chrome 瀏覽器的開發工作量完全不亞於一套操作系統。。。確實是這樣。
而且這麼 NB 的瀏覽器,它核心代碼是完全開源的!

於是。。。就有人動起 “ 歪心思 ” 了:
既然網頁裏面能實現的功能已經這麼強了,我能不能直接把網頁套一層殼,然後偽裝成客户端?
這樣我只需要寫一個網頁,再打包一下,不就能直接同時兼容 Windows / MacOS / Linux 了?
哦買噶哦買噶。。。我真是太天才了 —— 這麼跨時代的東西要是能面世,全世界的程序員不得給我集體磕三個?!

其實 “ 磕三個 ” 真不算誇張:因為以前程序員們寫程序,想支持幾個系統、通常就得寫幾份代碼。
因為每個系統的架構、接口啥的通常都不一樣。
而且還涉及到偏底層的資源指針、內存釋放什麼的性能調試過程。。。
這就導致了程序員的牛x程度決定了程序的運行速度,頭髮數量決定了 bug 數量。
但是!假如變成 “ 網頁套殼 ” —— 只要代碼在瀏覽器裏徹底跑通了,那麼瀏覽器能支持多少個系統,這段代碼就能支持多少個操作系統!
相當於以前,程序員們需要直接對系統環境和資源負責,但現在:
“ 網頁寫漂亮了就行,剩下的 Chrome 來想辦法 ” !

基於這個 “指導思想”,2013 年的時候,開發者平台 GitHub 發佈了個名叫 Electron 的框架。
Electron 框架由兩大部分揉成:一個是名叫 CEF ( Chrome 嵌入式框架 ) 的前端部分,一個是名叫 NodeJS 的後端部分。
這部分要是展開的話又能嘮個差不多十分鐘了。。。所以我們今天就不細説了。
你們可能不知道,目前基於 / 半基於 Electron 框架製作的程序已經非常多了:網易雲、Epic 遊戲商店、飛書、KOOK、百度網盤。。。

這些程序的特點很明顯,目錄裏都自帶了個名叫 Chrome 或是 libcef 的資源文件。
u1s1,Electron 框架的想法真的是好的 —— 畢竟網頁代碼比傳統程序代碼好寫多了,程序員可以從原本頭大的調試工作裏解放出來。
但是,Electron 框架有一個問題。。。確切來説,是 Chrome 瀏覽器的問題:
非、常、吃、內、存!!!

就比方説,飛書打開界面之後,內存佔用 400 MB,網易雲 241.8 MB。
遊戲語音軟件 KOOK 比較靦腆,但也吃了 184 MB!
可能大家對這樣的內存佔用沒什麼概念,所以我又打開了傳統意義上大家可能覺得會有些臃腫的 Word 和 PowerPoint 。
實測,Word 內存佔用 99 MB ,PPT 內存佔用 106 MB 。
好傢伙,這年頭我就聽個歌,兩個 PPT 出去了?

那麼假如 QQ 用上 Electron 框架呢?
目前最新的 QQ Windows 版還是基於原生 C++ 語言寫的,打開一個羣聊之後內存佔用只有 100 MB。
但是客户端裏獨立的 QQ 頻道 ( QQ Guild ) 模塊整個是基於 Electron 寫的,內存佔用288 MB。

一個模塊用 Electron 打包,就已經是 QQ 本體三倍的內存佔用了。。。
而根據一些使用了 MacOS 公測版(Electron 重構版)的小夥伴在知乎所述,偶爾新版 QQ 能吃掉 0.8 GB - 1 GB 的內存!
什麼噬元獸啊!!!

現在大家明白,為什麼騰訊宣佈重構 QQ 桌面版,但是電腦用户們樂不起來了吧。。。
雖然UI界面現代化了,但是以前 100 MB 內存能搞定的事,以後不知道得多少個 100 MB 才能 Hold 住了。

所以。。。明知道 “Chrome 套殼” 方案可能導致內存繃不住,為什麼 QQ 桌面版團隊還是一股腦往前衝呢?
就像我前面跟大家提過一嘴的:開源的 Qt 框架、騰訊自研的 Hummer 框架,在這方面處理的都比 Electron 要好,為什麼不用呢?
不出意外地,這個事在知乎上也激起了不小的討論 —— 而目前看來,可能是因為兩個比較現實的情況。
我們先説第一個吧:精通 C++ 原生開發的人才越來越稀有了,拿來寫圖形界面、客户端什麼的太可惜了。

本着 “ 好鋼用在刀刃上 ” 的原則,肯定優先讓這些 “ 稀有物種 ” 去倒騰後端,保證整套系統的穩定。
而不是讓他們把精力浪費在客户端界面的輸出上。
很可惜,我們前面提到的 Qt 啊、Hummer 之類的,都是以 C++ 語言為底的。
外加上第二個原因:去年的大廠們,幾乎都在 “ 減負 ” 。。。鵝廠看起來也沒少 “ 減 ” 。

所以問題來了:繞過 C++、用最少人手完成面向三個操作系統的客户端開發。。。
Electron 貌似是唯一的解。
真的。。。大家可能不知道 Electron 框架到底有多省開發:前面我提了一嘴的遊戲語音軟件 KOOK ,兩年前的時候我曾經去他們公司拜訪過。
他們的四個端:全功能網頁版、Windows 客户端、Android 客户端、iOS 客户端。。。
滿打滿算只用了三個人!

我估計,QQ 桌面版要是全面切換成 Electron 框架,不算後端只算前端的話。。。
最多四五個人,就把 Windows / Linux / MacOS 的活全都給幹了。。。
也就是説,把現有代碼徹底放棄改用 Electron 重構,對於 QQ 團隊的負責人來説屬於 “人效比拉滿”、百利無一害。。。
頂多用户的內存受點兒苦。
但是話又説回來了,需要受這份苦的用户,還剩下多少呢?

QQ 最後一次頂點是 2018 年,那一年,QQ 全平台月活 8 億,移動端 6.99 億。
但是五年之後,這個數據已經少了兩個小目標了。
以前,QQ 還會公佈一下桌面端的月活人數,然而現在已經。。。

這次 QQ 桌面端推倒重來,説的陰暗些,就是它的地位再次下滑了。
不然怎麼從來沒聽説過微信電腦版需要使用 Electron 重構呢?
看得出來,QQ 這兩年還是很支楞的,並且也在想盡辦法促活:
比如網上偶爾會有吐槽微信沒有 XXX 功能的帖子,QQ 扭頭一個更新就安排上了。

也有比如像小世界、QQ 頻道等等。
現在世超身邊習慣使用 QQ 頻道的小夥伴已經有不少了。
但是該説不説,語音進度條一類的功能只能算是微創新,頻道功能又是赤果果借鑑 Discord。
這些功能,成不了 QQ 本身的護城河。
Discord 界面截圖 ▼

要想徹底支楞起來,QQ 還是得想辦法掏出來真正屬於自己的創新和特色。。。
不然的話,別看現在是下坡路 —— 以後的下坡路,可****還長着呢。
到時候説不定,給 QQ 優化 Electron 代碼的人手也要被 “ 優化 ” 啦。
哦話説回來,後來知乎上疑似是 QQ 官方開發人員的知友 “ MagiLu ” 發帖説,開發團隊有信心控制好 Electron 框架吃內存的問題。

當然了。。。怎麼樣算 “ 控制好 ” ,大家心裏的標尺也不一樣。
我們也只能等春節之後裝上用用再看了。。。
**參考資料:**現在的Windows程序大多都是用什麼語言開發的? - 知乎
騰訊基於Electron技術的Windows版QQ內測版本預計2023 年推出,該版本有哪些新功能? - 知乎
騰訊QQ為什要自研UI框架,而不用QT/MFC? - 知乎
大公司該不該用Electron?
騰訊開發者談基於 Electron 技術的 Windows 版 QQ,將帶來哪些新變化? - IT之家
跨越平台桌面應用開發框架electron使用的心路歷程_小飛貓_的博客-CSDN博客_electron
