首頁  >  文章  >  運維  >  QQ 用 Electron 重構後,最終實作 Linux、macOS、Windows 三端架構統一!

QQ 用 Electron 重構後,最終實作 Linux、macOS、Windows 三端架構統一!

Linux中文社区
Linux中文社区轉載
2023-08-01 16:56:331644瀏覽

經過 24 年的更迭,國民應用程式 QQ 已成為 80/90 後的回憶,00 後的主戰場。而今,因為 QQ 一個最新版本的發布,吸引了不分年齡層次的技術人的目光。

7 月 3 日,騰訊正式上線 Windows QQ v9.9.0 體驗版本。要說這一版有什麼特別之處,最大的亮點莫過於其新增了64 位元版本支持,基於全新的NT 架構,##自此正式實現了macOS、Linux、Windows三端統一,使用操作起來更流暢快速。

QQ 用 Electron 重構後,最終實作 Linux、macOS、Windows 三端架構統一!

macOS、Linux、Windows 桌面版QQ 採用全新的NT 技術架構


#一直以來,一套程式碼能夠多端運行,是許多現代應用程式開發者及團隊始終追求的目標,包括如今的QQ 團隊也不例外。

不過,在早期 PC 時代,Windows 一統天下的時候,QQ 只有 Windows 版本,所以並沒有這方面的考慮。 ######

直到 2008 年,騰訊相繼推出了 QQ for Linux、QQ for Mac 版本。

而後各平台歷經十幾年的不斷發展,據騰訊客戶端工程師、知乎網友MagiLu(https ://www.zhihu.com/people/m-a-g-i透露,由於三端最早都是獨立的團隊和獨立的程式碼實現,Windows 功能最豐富全面,Mac 主打創新體驗,功能相對較少,Linux 最簡陋,隨著行動互聯的洗禮,各種組織架構調整、人才流動和業務興替,當前的桌面端QQ 處於一個比較臃腫、難以維護、缺少更新迭代的狀態。

基於此,騰訊QQ 團隊決定在去年啟動了QQ 架構升級計劃,放棄先前桌面版採用的Native 開發方式,而是選#用跨平台解決方案,帶來全新的QQNT 架構。

牛逼啊!接私活必备的 N 个开源项目!赶快收藏

QQ 用 Electron 重構後,最終實作 Linux、macOS、Windows 三端架構統一!

所謂 NT,有 New Technology 之意。

作為新版 QQ 桌面端 UI 跨平台解決方案,NT 架構可以實現多系統間 QQ 架構的統一。

在去年9 月,騰訊率先對Mac 版QQ 進行了升級, 這也是騰訊首次對桌面端QQ 基於NT 技術架構的一次全新重構,因採用最新技術架構,效能更穩定、發送更流暢、更容易維護。

同樣是在去年12 月,騰訊又緊鑼密鼓地推出了QQ Linux 3.0 版本,基於QQNT 技術架構驅動實現了全新架構,支援x64 系統以及arm64 系統,帶來了多個功能的提升和拓展。

現如今,騰訊完成了最後一個桌面版之Windows QQ 的升級,這意味著採用全新的NT 技術架構,QQ 首次在Window、macOS、Linux 三個平台上實現了架構統一,也讓QQ 團隊結束了被網友調侃的在程式碼上修修補補的日子。

#採用 Electron 框架


QQ 用 Electron 重構後,最終實作 Linux、macOS、Windows 三端架構統一!

#### #############QQ 平台此次推出的新軟體架構框架,它主要採用了Electron 技術,實現了多個系統平台之間QQ 架構的統一。 ###########################不難看出,Electron 在其中起###到了不可或缺的角色。 ##########

值得一提的是,如今的桌面應用軟體基本上都需要跨平台運行,類似 MFC、Duilib 等技術都無法滿足需求。現今的跨平台桌面應用軟體開發使用 Qt、Electron 較多。

那要問騰訊為什麼不選 Qt 而不是要使用 Electron 呢?

其實比起 Electron,Qt 具有運作效率高、架構健壯、效能強大等優勢。不過,據MagiLu 分享,之所以不採用Qt,這與騰訊內部的人才儲備與技術積累有關,其表示,「Qt 的確在性能上是一個很好的選擇,但目前團隊對Qt 沒有太多積累,基礎建設基本上沒有,而且市場上相關人才其實比較匱乏,招聘就更難了。」

所以綜合內部的投入成本與積累,其採用了Electron 技術。

具體來看,Electron(https://github.com/electron/electron)是基於Node.js 與Chromium 的跨平台桌面開發環境,Electron 透過將瀏覽器內核和後台Node.js 服務進行打包,實作了一個使用JavaScript 的全端開發環境,#無需任何修改就能夠將程式部署到Windows、macOS、Linux 平台上。

現在,Electron 已被多個開源 Web 應用程式用於前端與後端的開發,著名專案包括微軟的 Visual Studio Code 等。另外,搜尋公眾號Linux就該這樣學後台回覆“猴子”,獲取一份驚喜禮包。

同時,根據調查數據顯示,Electron 也是近年來被選為最受開發者歡迎的桌面端跨平台解決方案。 Electron 的多功能性(它可以與任何 UI 框架一起使用,即使它通常與 React 或 Vue.js 相關聯)也可以解釋為什麼它獲得了最高的滿意度。

QQ 用 Electron 重構後,最終實作 Linux、macOS、Windows 三端架構統一!


#讓人眼前一亮的新桌面版QQ


#作為一款老牌應用程序,QQ 如今仍然是不少年輕人的社交工具。而騰訊也一直在致力於打造平台一體化,甚至在不久之前宣布 QQ 可以用微信帳號登錄,繼續促活 QQ 用戶。

如今採用新技術架構升級後的 QQ UI 看起來也更清爽簡約。訊息介面採用了三欄式設計,讓頭像、聊天清單、聊天視窗同框。

這看起來似乎也更像桌面版微信介面了,不是嗎?

QQ 用 Electron 重構後,最終實作 Linux、macOS、Windows 三端架構統一!

#

此外,Windows QQ 也在聊天中支援語音、視訊一鍵開啟,以及夜間模式、檔案和文字一起傳送等功能,更能滿足桌面使用者的不同需求。

同時,騰訊基於 NT 技術架構為 QQ 帶來 Linux、Mac、Windows 多端統一的體驗,也為產業內國產軟體的生態統一提供一定的參考意義。日常撇開 Windows 和 Mac 端不談,很多人不使用基於 Linux 作業系統的重要原因之一便是很多應用不相容。

QQ 用 Electron 重構後,最終實作 Linux、macOS、Windows 三端架構統一!

當下,隨著 QQ 實現三端統一的體驗,無疑對國產軟體的意義非凡。


#「記憶體殺手」之 Electron?


#不過,也有些讓人惆悵的是,由於全新的NT架構對Electron 的依賴,不少網友擔憂,新版QQ 對於電腦記憶體的需求很可能將遠高於舊版。

畢竟即使  Electron 的優點千萬,也難掩其運作耗資源的缺點。

正因此,在幾天前,Meta 公司旗下的即時通訊應用程式WhatsApp 宣布棄用Windows 上基於Electron 的桌面應用程序,促使用戶轉而使用新推出的原生應用程式以實現不間斷存取。

兩個月前,微軟旗下的 Teams 宣布圍繞著速度、效能、靈活性和智能,重頭建構了 Teams 應用,其技術從 Electron 過渡到 WebView 2 渲染引擎。

面對桌面版QQ 採用Electron,有網友表示:

  • #遇到微信、釘子、QQ , 甚至瀏覽器都直接卡死,就能體會到Electron 應用多麼糟糕的體驗了;

  • #Electron 對於程式設計師而言是個好事,開發速度更快了。但對使用者來說,無疑是個災難,畢竟不是每個人電腦都有32 GB 記憶體

#針對這個問題,也有媒體報道,目前,QQ技術團隊已通過多個階段目標的設定,從單一進程記憶體優化到整體記憶體控制,新版本已取得有效的最佳化成果。

最後,據悉近期,騰訊也有計畫基於 NT 架構發布行動版 QQ。 那麼,你會用新版的 QQ 嗎?對於採用 Electron 的 QQ,你怎麼看?

參考:

https://www.zhihu.com/question/570447541/answer/2791939780

https://www.ithome.com/0/703/474.htm

#

以上是QQ 用 Electron 重構後,最終實作 Linux、macOS、Windows 三端架構統一!的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:Linux中文社区。如有侵權,請聯絡admin@php.cn刪除