官宣放棄 Electron 兩年后,微軟讓 Teams “重生”:內(nèi)存降 50%、磁盤(pán)空間占用少 70%
整理 | 蘇宓
出品 | CSDN(ID:CSDNnews)
今年 4 月,微軟 CEO 薩蒂亞·納德拉在 2023 財(cái)年第 3 財(cái)季電話會(huì)議上宣布,Microsoft Teams 的月活用戶已超過(guò) 3 億。作為一款通信和協(xié)作辦公軟件,與 Word、Excel 有所不同,Teams 集成了聊天、視頻會(huì)議、文件存儲(chǔ)、Office 365 等多種功能。
然而,就是這樣一款功能齊備的產(chǎn)品,卻一直備受性能的困擾,對(duì)于很多上班族而言,在內(nèi)存較小的電腦上運(yùn)行 Teams 無(wú)疑就是一場(chǎng)噩夢(mèng)。
值得慶幸的是,兩年前微軟自身也意識(shí)到了這一問(wèn)題,于是隨即宣布將重建 Teams,以減少資源消耗。按照原本計(jì)劃,最新版本將會(huì)被稱之為 Teams 2.0 ,會(huì)在 2022 年末隨著 Windows 11 更新而發(fā)布。
隨著時(shí)間的推移,“一鴿再鴿”的重構(gòu)版 Teams 繼 3 月發(fā)布預(yù)覽之后,直至近日才帶來(lái)正式版本。一經(jīng)發(fā)布,這條官方公告便吸引了高達(dá) 105k 的關(guān)注量,現(xiàn)在 Windows 和 Mac 用戶可以免費(fèi)安裝新版本的 Microsoft Teams 了。
更為值得關(guān)注的是,據(jù)微軟官方公告顯示,新版本的 Teams 速度提高了兩倍,同時(shí)使用的內(nèi)存減少了 50%。同時(shí),安裝新的 Microsoft Teams 應(yīng)用程序的速度將提高三倍,啟動(dòng)或加入會(huì)議的速度將提高兩倍,該應(yīng)用程序現(xiàn)在占用的磁盤(pán)空間減少了 70%。
而這一切的性能改進(jìn)主要?dú)w功于微軟放棄了 Electron 而采用了 Edge WebView2 渲染引擎。
Electron 為何慘遭放棄?
親證重構(gòu)之后的 Teams 最新數(shù)據(jù),很多開(kāi)發(fā)者也再次將目光轉(zhuǎn)到了舊版 Teams 應(yīng)用程序使用的 Electron 框架身上。
要知道,Electron 框架可幫助 Web 開(kāi)發(fā)者將 Web 應(yīng)用程序移植到桌面平臺(tái),從而避免特定平臺(tái)的復(fù)雜性,譬如國(guó)外的 Slack、Discord 等通信應(yīng)用程序,以及國(guó)內(nèi)的 QQ 都使用了 Electron 框架,為何到了微軟 Teams 這里卻遭到了拋棄。
此前,有開(kāi)發(fā)者 Faisal Khan 發(fā)布文章進(jìn)行過(guò)解析,其表示,由于 Electron 應(yīng)用的后臺(tái)都運(yùn)行著 Chrome OS 的一個(gè)獨(dú)特實(shí)例,因此運(yùn)行兩個(gè)以上的此類應(yīng)用就會(huì)耗盡主機(jī)的能量。
基于此,微軟早些時(shí)候甚至直接發(fā)布了一個(gè)文檔頁(yè)面用來(lái)解釋為什么 Microsoft Teams 會(huì)占用大量?jī)?nèi)存(https://learn.microsoft.com/en-us/microsoftteams/teams-memory-usage-perf)。
同時(shí),其還在頁(yè)面中寫(xiě)道,在 Electron 上設(shè)計(jì) Teams 可以加快開(kāi)發(fā)速度,還能保持不同操作系統(tǒng)(Windows 和 Mac)下 Teams 版本之間的均等性。
之所以能保持這種一致性,是因?yàn)?Electron 和 Chromium 在所有版本中都保持了相似的代碼庫(kù)。這種架構(gòu)的另一個(gè)優(yōu)點(diǎn)是,Teams Web 應(yīng)用程序和桌面版本的內(nèi)存使用情況相似。Web 應(yīng)用和桌面版本使用內(nèi)存的方式與瀏覽器相似。
下圖顯示了適用于 Windows 的 Teams 桌面應(yīng)用程序和 Teams Web 應(yīng)用程序(在此示例中,在 Google Chrome 中運(yùn)行)的并排內(nèi)存使用情況。
一定程度上,使用 Electron 來(lái)進(jìn)行大量處理的 Teams 已成為占用內(nèi)存和降低計(jì)算機(jī)運(yùn)行速度的代名詞。
Edge WebView2 “救火”,降內(nèi)存使用量和磁盤(pán)空間
提及微軟為什么選用 Edge WebView2 技術(shù)來(lái)取代 Electron,而非其他。
實(shí)則,從嚴(yán)格意義上來(lái)看,WebView2 并不能被視為 Electron 的替代品,因?yàn)榍罢卟幌?Electron 那樣可以在桌面平臺(tái)上快速發(fā)布 Web 應(yīng)用程序的封裝器。最初的 WebView(WebView1)使用的是微軟的 Edge 渲染引擎,而 WebView2 使用的是和 Electron 一樣的基于 Chromium 瀏覽器引擎。
早些年,Edge WebView2 被微軟的 Outlook 用作 Microsoft“One Outlook”項(xiàng)目的一部分,以實(shí)現(xiàn)客戶端之間更好的代碼共享。
在此基礎(chǔ)上,微軟認(rèn)為 Edge WebView2 后端有助于提高 Windows Teams 的性能并減少磁盤(pán)使用量。
因?yàn)榕c Electron 不同,WebView2 會(huì)監(jiān)控 Chromium 的行為,以檢測(cè)可用的系統(tǒng)內(nèi)存,并有效利用內(nèi)存來(lái)優(yōu)化渲染體驗(yàn)。如果其他應(yīng)用程序或服務(wù)需要系統(tǒng)內(nèi)存,Chromium 會(huì)將內(nèi)存讓給這些進(jìn)程。在內(nèi)存較少的低端電腦上,這將大大提高性能。
此外,WebView2 可以使用許多與 Windows 10 和 Windows 11 內(nèi)置的 Edge 瀏覽器相同的系統(tǒng)文件和運(yùn)行時(shí)。
全新的 Teams:磁盤(pán)占用減少 70%、內(nèi)存減少 50%
除了基于這一維度的改進(jìn),微軟還表示,在 React 框架基礎(chǔ)上構(gòu)建了新的 Teams,以提高 Windows 上應(yīng)用程序的速度和性能。
最終根據(jù) GigaOm 網(wǎng)站今年 3 月對(duì)新 Teams 進(jìn)行的評(píng)測(cè)結(jié)果顯示,與傳統(tǒng) Teams 相比,新 Teams 在加載應(yīng)用程序、加入以及切換聊天和頻道時(shí)平均速度快兩倍,并且消耗的內(nèi)存和磁盤(pán)空間最多減少 50%。
其中一些結(jié)果非常顯著,在高端系統(tǒng)中,應(yīng)用程序連接的時(shí)間性能提高了兩倍多,而通用系統(tǒng)和低端系統(tǒng)則分別提高了 2.5 倍和 2 倍。
應(yīng)用程序啟動(dòng)時(shí)間(以秒為單位)(越低越好)
加入會(huì)議所需的秒數(shù)(越低越好)
新 Teams 下的平均磁盤(pán)空間消耗總體下降了近 70%,而空閑內(nèi)存消耗(即 Teams 在后臺(tái)運(yùn)行時(shí)消耗的內(nèi)存)下降了 42%。
系統(tǒng)磁盤(pán)容量消耗(越低越好)
不過(guò),對(duì)于最新版本,外媒 ArsTechnica 點(diǎn)評(píng)道,“Mac 端用戶并沒(méi)有直觀地能從新 Teams 感受到巨大的改變,因?yàn)榕c Windows 不同,它們沒(méi)有內(nèi)置任何 Edge WebView2 文件——macOS 上的 WebView2 應(yīng)用與 Electron 應(yīng)用很像,它包含自己的依賴關(guān)系,需要與同一系統(tǒng)上的其他 WebView2 應(yīng)用分開(kāi)更新?!?/p>
但微軟在公告中表示,Mac 上的新 Teams 會(huì)有顯著的改進(jìn),包括更快地切換頻道、改善滾動(dòng)性能、更有效地使用設(shè)備資源,以及優(yōu)化 “通話或會(huì)議期間使用多個(gè)高分辨率顯示器時(shí)的團(tuán)隊(duì)體驗(yàn)”。
當(dāng)前 Teams 應(yīng)用程序的所有用戶都將 “在未來(lái)幾個(gè)月內(nèi) “升級(jí)到新的應(yīng)用程序。該新 Teams 幾乎所有功能都具有完全同等的特性,包括自定義業(yè)務(wù)線應(yīng)用程序、第三方應(yīng)用程序、休息室、7×7 視頻、呼叫隊(duì)列、PSTN 呼叫、聊天和頻道中的上下文搜索、交叉發(fā)布頻道對(duì)話等。
你對(duì)放棄基于 Electron 的開(kāi)發(fā)怎么看?
對(duì)于這些改變,開(kāi)發(fā)者們也有不同的看法,其紛紛表示:
-
想念原生應(yīng)用程序;
我可以理解:較小的開(kāi)發(fā)人員需要使用像 Electron 這樣的框架來(lái)支持跨平臺(tái),但像微軟這樣的大公司確實(shí)沒(méi)有理由不在每個(gè)平臺(tái)上進(jìn)行完全原生的開(kāi)發(fā);
好消息。Teams 是一款笨拙的應(yīng)用程序。如果說(shuō)有什么理由需要原生應(yīng)用程序的話,那似乎就是通信和會(huì)議應(yīng)用程序了。就連微軟也在很大程度上放棄了原生應(yīng)用程序,轉(zhuǎn)而使用 Web 技術(shù),這確實(shí)很能說(shuō)明問(wèn)題。
我討厭 Electron。它又慢又笨,還占用資源。在我看來(lái),只有那些沒(méi)有足夠資源在多個(gè)平臺(tái)上開(kāi)發(fā)原生應(yīng)用程序的小型開(kāi)發(fā)商才值得使用它。對(duì)于大型開(kāi)發(fā)商(如 MS)來(lái)說(shuō),使用任何非本地代碼(尤其是圖形用戶界面)都是偷懶。
最后,你感受到新 Teams 帶來(lái)的改變了嗎?在開(kāi)發(fā)中,你是否使用到了 Electron 框架,有何使用感受?歡迎留言,分享你的看法。
參考:
https://techcommunity.microsoft.com/t5/microsoft-teams-blog/announcing-general-availability-of-the-new-microsoft-teams-app/ba-p/3934603
https://arstechnica.com/gadgets/2023/10/rebuilt-microsoft-teams-app-promises-twice-the-speed-and-half-the-ram-usage
https://blog.devgenius.io/microsoft-is-finally-ditching-electron-9e081757f9db
歡迎參與 CSDN 重磅發(fā)起的《2023 AI 開(kāi)發(fā)者生態(tài)調(diào)查問(wèn)卷》,分享您真實(shí)的 AI 使用體驗(yàn),更有精美好禮等你拿!