前一段时间写了一篇关于 Teams 占用超大内存的文章,很多同学都在讨论。目前有一个趋势,微软现在越来越依赖Web框架,特别是 WebView2和Electro,甚至有点走火入魔了。
应用级别的软件,比如 Teams 采用 WebView2 也就罢了,连核心的 Windows 11 也在采用 Web 技术,比如消息中心。
那微软出于什么考虑呢?
WebView2 和 Electron 都基于 Chromium 内核,支持现代化 Web 标准,WebView2 依赖 Microsoft Edge,Electron 则内置 Chromium,跨平台性更好。
但两者的目标就是加速开发速度和减低开发成本,同时 Chromium 沙箱机制也有很好的安全性,这可能是微软的出发点。
也有一种厚黑的说法,就是 WebView2 和 Electron 底层是多进程的 Chromium,本身需要占用更多的内存,背后是微软希望用户升级电脑配置,推动 Copliot PC 生态,从而扩大 Windows 的份额。
目前业界也在批评 Windows 的做法。
最近 JavaScript创始人、Brave公司 CEO Brendan Eich 也谈到了这一个问题,他表示自己开发过 Firefox OS、webOS,负责任的说 WebView2 和 Electron 目前的问题还很大。
和原生应用还有很大差距,除非你花大量时间去优化它,但这本身就是一个伪命题,因为选择了 WebView2 和 Electron,就代表追求快速开发。
Meta 也解散了 WhatsApp 客户端团队,采用 Webview2 技术,看看下图的实际运行情况,内存飙升了好几倍:
Discord 采用了 Electron 技术,内存占用也是成倍的飙升:
Brendan Eich 认为微软的做法是为了推广软件订阅(比如 Office、OneDrive),因为 WebView2 和 Electron 相比原生应用能实时更新,微软能够及时宣传其产品策略。而为了达到这一目的,微软选择了一个糟糕的技术,这个理由你认可吗?
当然个人开发者还是很推荐使用 Electron,使用熟悉的 Web 技术开发跨平台的应用,事半功倍。
相关文章:

