Electron 末日來了?又一應用將其拋棄!WhatsApp 強制推行原生應用

infoq 發佈 2023-11-14T15:41:16.336459+00:00

作者 | 凌敏、核子可樂Electron 又被嫌棄了,讓人又愛又恨的 Electron 還能扛起跨平台開發框架的大旗嗎?

作者 | 凌敏、核子可樂

Electron 又被嫌棄了,讓人又愛又恨的 Electron 還能扛起跨平台開發框架的大旗嗎?

WhatsApp 棄用基於 Electron 框架構建的桌面應用程式

近日,WhatsApp 正式棄用基於 Electron 框架構建的桌面應用程式,用戶需切換到原生版本以繼續使用。

WABetaInfo 平台報告稱,全體 Electron 版用戶都會看到提示信息,上面寫著「應用已過期」。屏幕還提供連結,指向 Microsoft Store 或 Mac App Store 上發布的本機 WhatsApp 桌面應用。這些本機應用雖然已經穩定交付約一年,但此番強制切換仍有些倉促。部分用戶可能會抱怨過渡期太短,或者本機應用無法向商業用戶提供全部功能,例如目錄管理和快速回復。


Electron版WhatsApp桌面客戶端上的關閉信息


Electron 是使用 JavaScript、HTML 和 CSS 構建跨平台的桌面應用程式框架,基於 Chromium 和 Node.js,兼容 Mac、Windows 和 Linux。

當 WhatsApp 處於開發早期時,有開發者基於 Electron JS 框架創建了一款桌面應用。項目成果帶來一套共享代碼庫,能夠在 WhatsApp Web、Windows 和 Mac 之上跨平台運行桌面應用。

去年,WhatsApp 從頭開始​為 Windows 開發了一款新的本機應用程式,該應用程式採用了與 Windows 11 設計語言相匹配的全新現代設計,比如透明度、適應作業系統顏色主題的能力等等。除此之外,該應用程式還提供了更好的用戶界面,允許用戶共享消息、照片、視頻和其他媒體內容,並允許用戶撥打和接聽音頻和視頻通話。

與此同時,適用於 macOS 的原生 WhatsApp 也開始進行公開測試。據悉,起初該版本是封閉測試版,僅供 TestFlight 參與者使用,但目前已對公眾開放。有報導顯示,WhatsApp 團隊使用了 Apple 的 Mac Catalyst 框架,開發人員可以更輕鬆地構建在 iPadOS 和 macOS 上運行的應用程式。不過目前,適用於 macOS 作業系統原生的 WhatsApp 桌面應用程式仍處於開發的早期階段。

在過去,通過 WhatsApp Web、Microsoft Store 上的本機應用以及基於 Electron 框架構建的全平台應用,用戶一直可以在桌面系統上輕鬆訪問 WhatsApp。從大概四周前開始,這款桌面應用的主屏幕上出現一個倒計時,宣布將在截止時間正式關閉。隨著當前 WhatsApp 正式淘汰 Electron 這一分支,使得部分用戶必須轉向其作業系統對應的本機應用才能繼續享受服務。

WhatsApp 表示,原生應用程式主要具備以下優勢:

  • 增強了可靠性並提升了速度;
  • 專為桌面作業系統而設計並進行了優化;
  • 即使手機離線,也能繼續接收通知和消息。

有分析指出,WhatsApp 的種轉變也有其充分理由。儘管 Electron 版應用功能豐富且運行便捷,但並未針對 macOS 或 Windows 系統進行過優化,因此在運行中會占用大量資源。這個問題在低端設備上體現得尤其明顯。相比之下,新的本機應用針對各桌面作業系統進行了優化,在提供更高穩定性的同時降低了系統資源占用量。

此外,WABetaInfo 還希望此舉有助於促進 WhatsApp Business 工具程序的開發,避免 Electron 應用分解開發者群體的注意力。

Electron 的 AB 面:有人棄用,也有人選擇

除了 WhatsApp,微軟Teams也棄用了 Electron。

2021 年,微軟 Teams 高級副總裁宣布,Teams 將放棄 Electron,轉而匹配微軟自己的 Edge WebView2 渲染引擎以尋求性能提升。2023 年,微軟宣布以公共預覽版的形式,在 Win10 / Win11 系統上推出新版 Microsoft Teams 應用程式,正式從 Electron 過渡到 Microsoft 的 Edge WebView 2 渲染引擎。

「2015 年,我們開始開發 Teams 時,選擇 Electron 等框架可使跨平台 Web 和桌面客戶端的快速交付成為可能,」該公司的公司工程副總裁 Sumi Singh 在博客文章中解釋道。「然而,隨著 Teams 的功能不斷擴展,給設備資源帶來了壓力。認識到這一點後,我們開始分析可用技術、進行基準測試、構建原型並設計了一個在內部稱為北極星的新架構。」

微軟協作應用程式和平台總裁 Jeff Teper 在一篇博文中表示,新版應用的設計核心是速度和易用性,「我們始終聽取用戶的反饋,於是我們圍繞著速度、性能、靈活性和智能,重頭構建了 Teams 應用。運行速度提高了 2 倍,同時使用的內存減少 50%,因此您可以節省時間並更有效地協作。」

有人棄用 Electron,也有人堅定地選擇它。

2023 年 4 月 23 日,新版 Windows QQ 正式開啟用戶公測,採用全新 QQ NT 架構,以此實現了 QQ 架構的統一。而 QQ NT 技術的一個重點就是使用 Electron 作為新版 QQ 桌面端 UI 跨平台解決方案。

據了解,QQ 開發團隊還在 Electron 基礎上做了大量優化。比如,針對 Electron「占內存」的問題,QQ 根據不同的使用場景,在 Electron 與 N 用 Electron 開發多平台客戶端的成本相對低很多。相比於大多數都能完全復用的代碼,針對性優化成本可以忽略不計。

同樣是考慮到多端統一的需求,2017 年,GitHub 也曾使用 Electron 重寫了 macOS 和 Windows 的客戶端。

寫在最後

2017 年,Electron 可以說是 Web 應用在桌面平台發布的最佳、甚至是唯一選項。如今,雖然仍有眾多知名應用都選用 Electron 來提供支持,但也有越來越多的應用選擇棄用。

騰訊微信客戶端工程師方秋枋曾在接受 InfoQ 採訪時表示,從框架開發者的角度來看,跨平台開發的難點就在於處理平台差異性;從框架使用者的角度來看,難點在於如果框架出問題了,維護成本將會變得非常高。

與此同時,跨平台框架存在很多通病,比如項目龐大後維護困難、第三方庫良莠不齊、兼容上需要耗費更多精力等等。「跨平台意味著需要花費很多時間來解決平台差異性問題,同時要面臨第三方庫不夠原生平台豐富健壯的現狀。跨平台其實是犧牲部分功能和體驗,換取開發速度和一致性的權衡,並不是業務開發的銀彈。目前並沒有一個能完善解決這些問題的解決方案。」方秋枋說道。

參考連結:

https://www.androidpolice.com/whatsapp-desktop-electron-dead/

https://faq.whatsapp.com/451924530376167/?cms_platform=web

關鍵字: