JavaScript创始人警告不要在Windows 11上急于使用网络用户体验替代本地体验

2025-12-28
Windows 11 WebView 2

从 Discord 和 Teams 到 WhatsApp、Windows 搜索、开始菜单,甚至通知中心的新议程视图,Windows 11 不断加大对网络垃圾的投入,情况失控,以至于 JavaScript 和 Brave 浏览器的创始人 Brendan Eich 也对此方法表示不满。

最近,Windows 11 因各种错误的原因登上了新闻。最近,我写了一篇关于“微软否认使用 AI 重写 Windows 11”的文章。主要内容是微软驳斥了关于 Windows 11 在使用 AI 重写为 Rust 的说法。然而,我也借此强调了一个更大的问题:

Windows 11 正越来越依赖网络框架,特别是 WebView2 和 Electron。

这成为我努力将 Windows 11 的网络化劣质化转变成一个更多人关注的更大故事的一部分。

令我惊讶的是,这引起了 JavaScript 创始人和 Brave CEO Brendan Eich 的关注。JavaScript 传奇 Brendan Eich 还创立了 B2G OS(Boot to Gecko),这曾是 Mozilla 的 Firefox 操作系统,他还曾参与过 webOS。

Eich 认为,自己反对这种臃肿(很可能指 Windows 上的应用),因为过于匆忙地使用网络用户体验而非本地体验。他还补充说,网络应用可以“做得好”,但这需要时间,而大多数公司并不想花时间去做到。

“被埋藏的重点是‘Windows 11 有一个更大的问题,那就是 WebView2 或 Electron,’”Brendan Eich 在一条分享 Windows Latest 故事的 X 贴文中写道。“作为 b2g(FirefoxOS)联合创始人,同时与那个时代的 webOS 人员有联系,我反对因为匆忙使用 Web 用户体验而导致的臃肿。这可以做到正确;这需要时间。”

JavaScript creator response on Windows web apps problem

在同一线程中,有用户辩称 WebView 关系到控制,并让人们习惯于订阅软件。但 Brendan Eich 对这种逻辑表示反对,并问道:“网络与本地的区别如何帮助那个目标?”

Eich 还补充道:“本地更容易用于锁定。”

换句话说,如果担心被锁定,网络应用并不自动是最佳证明。

然后 Eich 从“网络与本地”拓展到他认为的真正原因,即商业激励。他将其描述为“订阅模式而非买断所有权”,并将其与更广泛的“劣质化”动态联系起来,包括债务驱动的策略和 DRM,甚至提到了“DRM 拖拉机”的例子。

Eich 甚至称“NPM 是个错误。”对于不知情的人来说,NPM(Node 包管理器)为开发人员提供了访问大量可重用 JavaScript 模块的在线库的权限。

如果网络应用要强加于我们,就需要“正确”地完成

网络应用不一定是坏事,尤其是如果做得好并在合适的地方使用。并不是所有东西都需要网络技术,包括像通知中心这样基本的东西。

如果微软真的想在一切中使用网络技术,它需要在质量和实施上做得更好。这同样适用于所有科技巨头,包括 Meta。

Discord 是一种占用大量资源的 Electron 应用

如果你看看 Discord,它一直在试图在 Windows 11 上重启 Discord,当 RAM 使用量达到 4GB 时,而不是在找出如何优化 Electron 时切换到本地代码。

在一份声明中,Discord 承认其 Windows 11 桌面应用并不高效使用 RAM,尤其是在我们预期内存价格将飙升的时候。

Discord Windows app RAM usage

“是的,我们正在测试当内存超过 4GB(正常使用为 <1GB)时重启,”一位 Discord 员工在 Windows Latest 发现的论坛贴文中写道。在一片愤怒中,Discord 还解释说,仅当你在键盘或鼠标输入上离开 30 分钟或不在通话中时才会重启 Windows 11 应用。

Discord 没有计划用本地代码替换 Electron。实际上,它表示已经设法为大多数用户减少了 RAM 使用量,即使在应用在待机状态下轻松使用 1GB RAM 的情况下。

“一些用户看到的数字至少低于以前。总体而言,我们目前在 p95 内存上看到约 5% 的减少,仍需进一步努力,”该公司解释道。

[我们] 在平台/操作系统/驱动程序/硬件级别发现了问题,并与合作伙伴密切合作,提供独立的重现和最终修复。”

Microsoft Teams 和 WhatsApp 也有类似的性质,并使用 1GB+ 的 RAM

与 Discord 的 Electron 不同,Teams 和 WhatsApp 基于 WebView2,这稍微好于 Electron,因为 WebView2(基于 Chromium)内置于 Windows 中。可惜的是,Teams 仍然面临高 RAM 使用量、性能问题或用户体验差的困扰。

MS teams resources usage

微软最近承认 Teams 存在性能问题,并未试图解决根本原因。相反,它为 Teams 通话创建了一个单独的进程 (.exe),因此主进程的糟糕性能不会影响到 Teams 通话,反之亦然。

WhatsApp 的情况也类似,最近将其本地 Windows 应用降级为使用 WebView2。现在,在 Windows 11 上,WhatsApp 经常使用 1GB 的 RAM。

WhatsApp 最初是一个网页封装(Electron),但是 Meta 用本地 WinUI/XAML 代码替换了它。经过数年的投资于本地 Windows 框架,Meta 最终却放弃了本地代码,转而使用 WebView2。

但“网络”框架的问题仅限于应用吗?不,这其实是 Windows 11 生态系统的问题

Teams does not work if WebView2 component is removed from Windows
如果从 Windows 中移除 WebView2 组件,Teams 将无法工作

开始菜单的推荐信息流已经使用 React native,但还有更多即将推出。

在 Windows 11 上,微软正在向通知中心添加基于 WebView2 的议程视图。该功能在 Windows 10 上作为本地功能推出。现在,在 Windows 11 上,它将使用 WebView2。如果你监控任务管理器,你会发现与 Edge 相关的进程的 RAM 使用量从 1MB 激增到 100MB。

如果是一个独立开发者试图构建跨平台应用并倾向于使用网络框架,那是可以理解的。但我们在谈论的是像微软这样市值超过 3.5 万亿美元的公司,它们却无法为 Windows 11 中如此基础的日历议程视图构建本地 UI。

这一点真的需要停止。你怎么看?请在下面的评论中告诉我。