每次打開QQ桌面版,我都有一種回到小時候的感覺—— 這可不是對QQ的誇獎。作為一個20多歲的互聯網活化石,在不斷的修修補補、增增減減之後,QQ電腦版也和微軟Windows11一樣,存在著很多不協調的“割裂感”。
就比方說,本來就不算大的主界面裡,愣是存在著三個可展開的選項菜單。
主要的功能按鈕也被劃分到頂部、中間、底部。
並且還被分別賦予 “ 小圖標 ” 、 “ 純文字 ” 、 “ 中圖標 ” 三種展現形式。
尤其是這兩年 “ 移動文化 ” 的反哺,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 瀏覽器這個 “ 萬惡之源 ” 說起。
等一等,我們剛剛不是在聊寫代碼嗎,怎麼突然扯到Google瀏覽器身上?
emmmmm,大傢先別急,麻煩大傢夥先跟我一起回想個事:
你還記得Google 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 框架吃內存的問題。
當然。怎麼樣算 “ 控制好 ” ,大傢心裡的標尺也不一樣。
我們也隻能等春節之後裝上用用再看。