作者 | 凌敏、核子可樂
WhatsApp 棄用基于 Electron 框架構(gòu)建的桌面應(yīng)用程序
近日,WhatsApp 正式棄用基于 Electron 框架構(gòu)建的桌面應(yīng)用程序,用戶需切換到原生版本以繼續(xù)使用。
【資料圖】
WABetaInfo 平臺報告稱,全體 Electron 版用戶都會看到提示信息,上面寫著“應(yīng)用已過期”。屏幕還提供鏈接,指向 Microsoft Store 或 Mac App Store 上發(fā)布的本機 WhatsApp 桌面應(yīng)用。這些本機應(yīng)用雖然已經(jīng)穩(wěn)定交付約一年,但此番強制切換仍有些倉促。部分用戶可能會抱怨過渡期太短,或者本機應(yīng)用無法向商業(yè)用戶提供全部功能,例如目錄管理和快速回復(fù)。
Electron版WhatsApp桌面客戶端上的關(guān)閉信息
Electron 是使用 JavaScript、HTML 和 CSS 構(gòu)建跨平臺的桌面應(yīng)用程序框架,基于 Chromium 和 Node.js,兼容 Mac、Windows 和 Linux。
當 WhatsApp 處于開發(fā)早期時,有開發(fā)者基于 Electron JS 框架創(chuàng)建了一款桌面應(yīng)用。項目成果帶來一套共享代碼庫,能夠在 WhatsApp Web、Windows 和 Mac 之上跨平臺運行桌面應(yīng)用。
去年,WhatsApp 從頭開始?為 Windows 開發(fā)了一款新的本機應(yīng)用程序,該應(yīng)用程序采用了與 Windows 11 設(shè)計語言相匹配的全新現(xiàn)代設(shè)計,比如透明度、適應(yīng)操作系統(tǒng)顏色主題的能力等等。除此之外,該應(yīng)用程序還提供了更好的用戶界面,允許用戶共享消息、照片、視頻和其他媒體內(nèi)容,并允許用戶撥打和接聽音頻和視頻通話。
與此同時,適用于 macOS 的原生 WhatsApp 也開始進行公開測試。據(jù)悉,起初該版本是封閉測試版,僅供 TestFlight 參與者使用,但目前已對公眾開放。有報道顯示,WhatsApp 團隊使用了 Apple 的 Mac Catalyst 框架,開發(fā)人員可以更輕松地構(gòu)建在 iPadOS 和 macOS 上運行的應(yīng)用程序。不過目前,適用于 macOS 操作系統(tǒng)原生的 WhatsApp 桌面應(yīng)用程序仍處于開發(fā)的早期階段。
在過去,通過 WhatsApp Web、Microsoft Store 上的本機應(yīng)用以及基于 Electron 框架構(gòu)建的全平臺應(yīng)用,用戶一直可以在桌面系統(tǒng)上輕松訪問 WhatsApp。從大概四周前開始,這款桌面應(yīng)用的主屏幕上出現(xiàn)一個倒計時,宣布將在截止時間正式關(guān)閉。隨著當前 WhatsApp 正式淘汰 Electron 這一分支,使得部分用戶必須轉(zhuǎn)向其操作系統(tǒng)對應(yīng)的本機應(yīng)用才能繼續(xù)享受服務(wù)。
WhatsApp 表示,原生應(yīng)用程序主要具備以下優(yōu)勢:
增強了可靠性并提升了速度; 專為桌面操作系統(tǒng)而設(shè)計并進行了優(yōu)化; 即使手機離線,也能繼續(xù)接收通知和消息。有分析指出,WhatsApp 的種轉(zhuǎn)變也有其充分理由。盡管 Electron 版應(yīng)用功能豐富且運行便捷,但并未針對 macOS 或 Windows 系統(tǒng)進行過優(yōu)化,因此在運行中會占用大量資源。這個問題在低端設(shè)備上體現(xiàn)得尤其明顯。相比之下,新的本機應(yīng)用針對各桌面操作系統(tǒng)進行了優(yōu)化,在提供更高穩(wěn)定性的同時降低了系統(tǒng)資源占用量。
此外,WABetaInfo 還希望此舉有助于促進 WhatsApp Business 工具程序的開發(fā),避免 Electron 應(yīng)用分解開發(fā)者群體的注意力。
Electron 的 AB 面:有人棄用,也有人選擇
除了 WhatsApp,微軟Teams也棄用了 Electron。
2021 年,微軟 Teams 高級副總裁宣布,Teams 將放棄 Electron,轉(zhuǎn)而匹配微軟自己的 Edge WebView2 渲染引擎以尋求性能提升。2023 年,微軟宣布以公共預(yù)覽版的形式,在 Win10 / Win11 系統(tǒng)上推出新版 Microsoft Teams 應(yīng)用程序,正式從 Electron 過渡到 Microsoft 的 Edge WebView 2 渲染引擎。
“2015 年,我們開始開發(fā) Teams 時,選擇 Electron 等框架可使跨平臺 Web 和桌面客戶端的快速交付成為可能,”該公司的公司工程副總裁 Sumi Singh 在博客文章中解釋道。“然而,隨著 Teams 的功能不斷擴展,給設(shè)備資源帶來了壓力。認識到這一點后,我們開始分析可用技術(shù)、進行基準測試、構(gòu)建原型并設(shè)計了一個在內(nèi)部稱為北極星的新架構(gòu)。”
微軟協(xié)作應(yīng)用程序和平臺總裁 Jeff Teper 在一篇博文中表示,新版應(yīng)用的設(shè)計核心是速度和易用性,“我們始終聽取用戶的反饋,于是我們圍繞著速度、性能、靈活性和智能,重頭構(gòu)建了 Teams 應(yīng)用。運行速度提高了 2 倍,同時使用的內(nèi)存減少 50%,因此您可以節(jié)省時間并更有效地協(xié)作。”
有人棄用 Electron,也有人堅定地選擇它。
2023 年 4 月 23 日,新版 Windows QQ 正式開啟用戶公測,采用全新 QQ NT 架構(gòu),以此實現(xiàn)了 QQ 架構(gòu)的統(tǒng)一。而 QQ NT 技術(shù)的一個重點就是使用 Electron 作為新版 QQ 桌面端 UI 跨平臺解決方案。
據(jù)了解,QQ 開發(fā)團隊還在 Electron 基礎(chǔ)上做了大量優(yōu)化。比如,針對 Electron“占內(nèi)存”的問題,QQ 根據(jù)不同的使用場景,在 Electron 與 N 用 Electron 開發(fā)多平臺客戶端的成本相對低很多。相比于大多數(shù)都能完全復(fù)用的代碼,針對性優(yōu)化成本可以忽略不計。
同樣是考慮到多端統(tǒng)一的需求,2017 年,GitHub 也曾使用 Electron 重寫了 macOS 和 Windows 的客戶端。
寫在最后
2017 年,Electron 可以說是 Web 應(yīng)用在桌面平臺發(fā)布的最佳、甚至是唯一選項。如今,雖然仍有眾多知名應(yīng)用都選用 Electron 來提供支持,但也有越來越多的應(yīng)用選擇棄用。
騰訊微信客戶端工程師方秋枋曾在接受 InfoQ 采訪時表示,從框架開發(fā)者的角度來看,跨平臺開發(fā)的難點就在于處理平臺差異性;從框架使用者的角度來看,難點在于如果框架出問題了,維護成本將會變得非常高。
與此同時,跨平臺框架存在很多通病,比如項目龐大后維護困難、第三方庫良莠不齊、兼容上需要耗費更多精力等等。“跨平臺意味著需要花費很多時間來解決平臺差異性問題,同時要面臨第三方庫不夠原生平臺豐富健壯的現(xiàn)狀。跨平臺其實是犧牲部分功能和體驗,換取開發(fā)速度和一致性的權(quán)衡,并不是業(yè)務(wù)開發(fā)的銀彈。目前并沒有一個能完善解決這些問題的解決方案。”方秋枋說道。
參考鏈接:
https://www.androidpolice.com/whatsapp-desktop-electron-dead/
https://faq.whatsapp.com/451924530376167/?cms_platform=web


