弹痕下载今年 4 月,微软 CEO 萨蒂亚·纳德拉在 2023 财年第 3 财季电话会议上宣布,Microsoft Teams 的月活用户已超过 3 亿。作为一款通信和协作办公软件,与 Word、Excel 有所不同,Teams 集成了聊天、视频会议、文件存储、Office 365 等多种功能。
然而,就是这样一款功能齐备的产品,却一直备受性能的困扰,对于很多上班族而言,在内存较小的电脑上运行 Teams 无疑就是一场噩梦。
值得庆幸的是,两年前微软自身也意识到了这一问题,于是随即宣布将重建 Teams,以减少资源消耗。按照原本计划,最新版本将会被称之为 Teams 2.0 ,会在 2022 年末随着 Windows 11 更新而发布。
随着时间的推移,“一鸽再鸽”的重构版 Teams 继 3 月发布预览之后,直至近日才带来正式版本。一经发布,这条官方公告便吸引了高达 105k 的关注量,现在 Windows 和 Mac 用户可以免费安装新版本的 Microsoft Teams 了。
更为值得关注的是,据微软官方公告显示,新版本的 Teams 速度提高了两倍,同时使用的内存减少了 50%。同时,安装新的 Microsoft Teams 应用程序的速度将提高三倍,启动或加入会议的速度将提高两倍,该应用程序现在占用的磁盘空间减少了 70%。
而这一切的性能改进主要归功于微软放弃了 Electron 而采用了 Edge WebView2 渲染引擎。
亲证重构之后的 Teams 最新数据,很多开发者也再次将目光转到了旧版 Teams 应用程序使用的 Electron 框架身上。
要知道,Electron 框架可帮助 Web 开发者将 Web 应用程序移植到桌面平台,从而避免特定平台的复杂性,譬如国外的 Slack、Discord 等通信应用程序,以及国内的 都使用了 Electron 框架,为何到了微软 Teams 这里却遭到了抛弃。
此前,有开发者 Faisal Khan 发布文章进行过解析,其表示,由于 Electron 应用的后台都运行着 Chrome OS 的一个独特实例,因此运行两个以上的此类应用就会耗尽主机的能量。
基于此,微软早些时候甚至直接发布了一个文档页面用来解释为什么 Microsoft Teams 会占用大量内存()。
同时,其还在页面中写道,在 Electron 上设计 Teams 可以加快开发速度,还能保持不同操作系统(Windows 和 Mac)下 Teams 版本之间的均等性。
之所以能保持这种一致性,是因为 Electron 和 Chromium 在所有版本中都保持了相似的代码库。这种架构的另一个优点是,Teams Web 应用程序和桌面版本的内存使用情况相似。Web 应用和桌面版本使用内存的方式与浏览器相似。
一定程度上,使用 Electron 来进行大量处理的 Teams 已成为占用内存和降低计算机运行速度的代名词。
因为与 Electron 不同,WebView2 会监控 Chromium 的行为,以检测可用的系统内存,并有效利用内存来优化渲染体验。如果其他应用程序或服务需要系统内存,Chromium 会将内存让给这些进程。在内存较少的低端电脑上,这将大大提高性能。
除了基于这一维度的改进,微软还表示,在 React 框架基础上构建了新的 Teams,以提高 Windows 上应用程序的速度和性能。
最终根据 GigaOm 网站今年 3 月对新 Teams 进行的评测结果显示,与传统 Teams 相比,新 Teams 在加载应用程序、加入以及切换聊天和频道时平均速度快两倍,并且消耗的内存和磁盘空间最多减少 50%。
其中一些结果非常显著,在高端系统中,应用程序连接的时间性能提高了两倍多,而通用系统和低端系统则分别提高了 2.5 倍和 2 倍。
新 Teams 下的平均磁盘空间消耗总体下降了近 70%,而空闲内存消耗(即 Teams 在后台运行时消耗的内存)下降了 42%。
不过,对于最新版本,外媒 ArsTechnica 点评道,“Mac 端用户并没有直观地能从新 Teams 感受到巨大的改变,因为与 Windows 不同,它们没有内置任何 Edge WebView2 文件——macOS 上的 WebView2 应用与 Electron 应用很像,它包含自己的依赖关系,需要与同一系统上的其他 WebView2 应用分开更新。”
但微软在公告中表示,Mac 上的新 Teams 会有显著的改进,包括更快地切换频道、改善滚动性能、更有效地使用设备资源,以及优化 通话或会议期间使用多个高分辨率显示器时的团队体验。
当前 Teams 应用程序的所有用户都将 在未来几个月内 升级到新的应用程序。该新 Teams 几乎所有功能都具有完全同等的特性,包括自定义业务线应用程序、第三方应用程序、休息室、7x7 视频、呼叫队列、PSTN 呼叫、聊天和频道中的上下文搜索、交叉发布频道对话等。
我可以理解:较小的开发人员需要使用像 Electron 这样的框架来支持跨平台,但像微软这样的大公司确实没有理由不在每个平台上进行完全原生的开发;
好消息。Teams 是一款笨拙的应用程序。如果说有什么理由需要原生应用程序的话,那似乎就是通信和会议应用程序了。就连微软也在很大程度上放弃了原生应用程序,转而使用 Web 技术,这确实很能说明问题。
我讨厌 Electron。它又慢又笨,还占用资源。在我看来,只有那些没有足够资源在多个平台上开发原生应用程序的小型开发商才值得使用它。对于大型开发商(如 MS)来说,使用任何非本地代码(尤其是图形用户界面)都是偷懒。
最后,你感受到新 Teams 带来的改变了吗?在开发中,你是否使用到了 Electron 框架,有何使用感受?欢迎留言,分享你的看法。
欢迎参与 CSDN 重磅发起的《2023 AI 开发者生态调查问卷》,分享您真实的 AI 使用体验,更有精美好礼等你拿!
|