微软偷偷决定不开源 Linux 及 macOS 版 WebView2,网友:等了四年,我还是用 Electron?!

整理|冬梅、核子可乐 1 微软不再开源 Linux 及 macOS 版 WebView2 组件

2021 年,有用户曾在 GitHub 上发帖询问微软的 WebView2 组件是否会支持 Linux 和 macOS 系统。WebView2 是微软基于自家 Edge 浏览器打造的开源渲染组件,相当于微软 Edge 浏览器的一个缩小版本。

过去几年间,微软一直在大规模采用 WebView2 组件,例如新版 Outlook 和 Teams 等应用程序就都有引入。对于一部分开发者来说,基于 Chromium 的 WebView2 在实际表现上优于苹果的同类方案 WKWebView。

因此,很多开发者非常关心微软何时会面向 Linux 及 macOS 推出 WebView2 组件。如今距离当初那篇讨论帖已经过去了三年,而微软的最终决定是放弃开源。

微软工程师 @novac42 在讨论中表示:

经过认真考量并结合我们的长期产品策略,我们决定停止在 macOS 和 Linux 上公开发布 WebView2 的计划,转而专注在当前已经支持的平台上为客户提供最大价值。
感谢大家成为这个社区的重要成员并分享您的反馈。与此同时,如果您有任何其他问题或建议,请随时与我们联系。您的意见非常宝贵,我们也将继续改进 WebView2。感谢您的理解。

从微软工程师的回复中,我们可以看到决策的重点在于“公开发布”。微软 Edge 浏览器支持 Linux 和 Mac,所以按理说支持这两套系统的 WebView2 组件应该已经存在,只是微软可能不会对其开源。

这个消息让很多开发者感到失望,因为微软在 2020 年 11 月时曾明确提到,其计划首先为 macOS 提供 WebView2 支持。2023 年 3 月,微软工程师宣布将继续完善平台支持能力,包括 Mac(但不涉及 Linux)。

而在苦苦等待四年之后,微软最终居然放弃开源 WebView2 组件。有开发者表示,该组件是微软基于 Chromium 开源项目打造的方案,而微软目前正在内部使用该款组件,因此应该通过 SDK 或者源代码形式将其开源。

目前还不清楚微软最终会不会改变主意,决定重新开源 WebView2 组件。但对于一直期待 WebView2、准备将软件迁移至 WebView2 的开发者,首先要做的恐怕是关注 Electron 之类的替代方案。

2 等了四年期待落空,开发者顿感失望

事实上,微软最初发布 WebView2 是在 2010 年。

当时,微软在官方博客上宣布了 Microsoft Edge WebView2 Win32 C/C++ 版本正式发布,并且可用于生产应用程序。它们可用于任何 Win32 C/C++ 应用程序,并支持 Windows 11、Windows 10、Windows 10 IoT 企业版 LTSC x32 2019、Windows 10 IoT 企业版 LTSC x64 2019 等 Windows 版本。

WebView2 是 Microsoft 的新嵌入式 Web 控件,基于 Microsoft Edge(Chromium)构建。这意味着,Windows 应用开发人员可以访问现有和新应用中的最新 Web 技术。WebView2 还允许开发人员直接在其本机应用程序中嵌入和呈现 Web 内容,包括 JavaScript、HTML 和 CSS。WebView2 控件基于微软新的基于 Chromium 的 Edge 浏览器构建。

简单地说,WebView2 提供了一种在为桌面设计的应用程序 UI 中托管 HTML、CSS 和 JS 等 Web 内容的方法。它结合了本机 UI 并在本机应用程序内呈现 Web 内容。

使用 WebView2,可以将 Web 代码插入本机 UI 的任何部分和许多不同位置,或者在单个 WebView2 实例中构建应用程序。

2021 年 2 月,微软宣布 Microsoft 365 的未来版本将开始利用 WebView2 控件将 Web 内容直接嵌入本机应用程序中。

“Microsoft 365 应用开始提供依赖于 Microsoft Edge WebView2 的新功能或改进功能。WebView2 运行时将于 2021 年 3 月 8 日开始安装。只有运行 Windows 且安装了 Microsoft 365 应用版本 2101 或更高版本的设备才会受到影响。”

为了正确使用新的 Microsoft 365 应用程序,用户需要拥有 Windows WebView 2 运行时,微软表示该运行时已经于 2021 年 3 月 8 日安装。

随后 3 月 14 日,微软开始在 Windows 10 设备上自动安装“Microsoft Edge WebView2 Runtime”,且未向用户发出任何通知。

Microsoft Edge WebView2 运行时

可以从 Windows 事件日志中看到 WebView2 运行时是由 Microsoft Office 自动安装的。

Microsoft Office 安装 WebView2 运行时

微软最初表示,WebView2 运行时只会安装在运行 Microsoft 365 版本 2101 的 Windows 计算机上。然而,用户发现它也安装在非订阅的 Microsoft Office 版本中,包括 Microsoft Office Professional 2019 和 Office 2016。

那么,微软为什么会坚定地选择使用 WebView2 而放弃此前红极一时的 Electron?

与 Electron 不同,WebView2 会监控 Chromium 的行为、检测还有多少系统内存可用,从而更有效地利用内存资源优化渲染体验。如果其他应用程序或服务需要系统内存,Chromium 就会将空间移交给这些进程。如此一来,内存容量较小的低端计算机也能带来不错的性能表现。

WebView2 更像是一种类似于应用窗口的控件,专门用于渲染 Web 页面。事实上,WebView2 控件还允许在原生应用程序中嵌入 Web 技术(包括 HTML、CSS 与 JavaScript)。此外,WebView2 还具备以下优势:

  • 改进的 Web 功能:利用 Microsoft Edge Engine 可以保证内容处理速度、安全性和对最新 Web 标准的支持。这也消除了依赖旧版 Web 浏览器控件和框架嵌入的问题。

  • 本机集成:WebView2 创建了一种混合方法,将本机功能和 Web 内容结合在一个应用程序中。因此,开发人员可以利用 JS 与本机代码交互,反之亦然,以更简单、更轻松地采用新的 Web 功能。此外,在开发应用程序时,动态访问本机功能上的 Web 资产和基于 Web 的服务开辟了许多机会。

  • 增强的安全性:WebView2 还提供安全功能,通过严格分离 Web 内容和本机应用程序来保护您的应用程序免受任何脚本注入,从而防止未经授权访问系统。同时,为 Microsoft Edge Engine 提供的所有安全更新也将适用于 WebView2,确保用户获得安全的应用使用体验。

总体而言,WebView2 提供了一种强大而灵活的方式来集成 Web 内容和本机应用程序,而不会影响安全性,并利用最新的 Web 技术以及跨平台的统一和一致的兼容性。结合了 Web 和本机领域的最佳优势。

也是自那时起,用户开始盼望着微软的 WebView2 组件能够支持 Linux 和 macOS 系统。微软 Edge 团队也曾在 2022 年 6 月发布 Twitter 表示 WebView2 将在 macOS 中可用,这让开发者看到了一点希望的曙光。

到了 2023 年 3 月,微软又在官网解释了 WebView2 优势,即将推出 Mac 版本。一张图表展示了 Windows、Mac 和 Linux。开发者眼见着期盼已久的 macOS 版本即将发布,心中又燃起了期待。

随后 2023 年 10 月,微软工程师 Anupam Pattnaik 宣布新版 Teams 应用在 Mac 上正式发布。他写道:“使用 Edge WebView2 作为新版 Teams 应用的主机,我可以获取该架构的内存使用量和磁盘空间,因为资源与 Edge 共享。”

就在开发者以为 macOS 版本 WebView2 马上就要来了的时候,微软突然泼下来一大盆冷水。

微软在上周突然低调地宣布不再开源 Linux 和 macOS 系统的 WebView 组件,这难免让众多开发者表示失望,他们在 Reddit、Github 等平台上表达着自己的不满。

在 GitHub 上,一位 ID 名为 YoavCodes 的开发者表达了对此决定的失望,甚至准备自己着手构建:

“真是令人沮丧的消息。我原本希望在 electrobun 使用 webview2,在 C++ 之外直接使用 Chromium 和 CEF 实在是太麻烦了。我想我们只能咬紧牙关,自己构建了。”

一位用户语气强烈地建议微软把支持 macOS 的 WebView2 组件开源出来,他写道:

“鉴于微软已经在 Mac 上通过 WebView2 支持 Teams,有人可能会认为这是一个‘当前支持的平台’。公开 API 和下载真的需要做那么多工作?如果做不到,那么就把 WebView2 源代码放在 GitHub 上,让社区去做。我敢打赌一周之内就会有一个端口版本。
社区已经等待 Mac 上的 WebView2 近 4 年了。它基于 Chromium 等开源项目。微软正在内部使用,因此请通过 SDK 或源代码将其公开,以便我们其他人也能获得同样的好处。”

也有用户给出了 WebView2 的替代方案,比如 Tauri, 这也是一个开源的跨平台框架,可以允许开发者通过单一代码库为 Linux、macOS、Windows、Android 和 iOS 构建应用程序。

此外还有 Servo:一个可嵌入、独立、内存安全、模块化、超级化的 Web 渲染引擎;Servo WebRender:一款基于 GPU 的 Web 渲染器。它作为库具有很大的潜力,并且有许多应用领域,甚至可以替代端到端库;Gosub 浏览器:目前尚不成熟,但在 WeView 库方面非常有前景。

Servo GitHub 地址:https://github.com/servo/servo

Servo WebRender GitHub 地址:https://github.com/servo/webrender

Gosub browser GitHub 地址:https://github.com/gosub-browser

比起不做任何承诺,做了承诺又不兑现或许更让人难以接受。

参考链接:

https://www.zocnet.com/archives/489.html

https://www.geeksforgeeks.org/what-is-webview2-in-microsoft-edge-browser/

https://www.bleepingcomputer.com/news/microsoft/microsoft-is-auto-installing-the-windows-10-webview2-runtime/

今日好文推荐

剥离几百万行代码,复制核心算法去美国?TikTok 最新回应来了

微软中国 CTO 韦青:亲身经历大模型落地的体会与思考

软件工程的兴衰轮回:2 年巨变,裁员风暴下小团队逆袭,老技术反迎第二春?

“我的代码被微软和 OpenAI 抄了,维权后被他们耗了两年”

 活动推荐

AIGC 技术正以惊人的速度重塑着创新的边界,InfoQ 首期《大模型领航者 AIGC 实践案例集锦》电子书,深度对话 30 位国内顶尖大模型专家,洞悉大模型技术前沿与未来趋势,精选 10 余个行业一线实践案例,全面展示大模型在多个垂直行业的应用成果,同时,揭秘全球热门大模型效果,为创业者、开发者提供决策支持和选型参考。关注「AI 前线」,回复「领航者」免费获取电子书。

相关推荐

  • 台积电市值曾破万亿成亚洲之首!2nm芯片即将试产,iPhone17有望率先搭载
  • PyTorch团队首发技术路线图,近百页文档披露2024下半年发展方向
  • 败给AI八年,围棋传奇李世石仍未走出AlphaGo阴影
  • 美国启动「曼哈顿计划2.0」,AI进入奥本海默时刻?60亿砸向无人机,已有800个AI项目
  • MoE也有Scaling Law,「百万专家」利用率近100%!DeepMind华人挑战MoE极限
  • 边学边赛拿冠军!北邮学子勇夺昇腾AI原生创新算子挑战赛金奖
  • 硅谷科技圈大佬集体声援特朗普!降薪、砍福利惹众怒,工行内网号召按时下班帖走红;华为再发债10亿元;腾讯全员调薪,租房补贴进月薪
  • 82.1k star,时候换个方式学算法了!
  • PnetLab存储不足?一步一步教你如何进行扩容。
  • MotionClone:无需训练,一键克隆视频运动
  • 登顶开源AI软件工程师榜首,UIUC无Agent方案轻松解决SWE-bench真实编程问题
  • 微软开源的GraphRAG爆火,Github Star量破万,生成式AI进入知识图谱时代?
  • 赶时髦的 AIGC 营销人,如何实现「里子」与「面子」的双赢?
  • 阿里妈妈给出了什么样的赛题,被顶会NeurIPS 2024 pick了?
  • 【Python】随时撸代码,愉快滴在手机上玩Python!
  • 17个工作必备的Python自动化代码
  • 避免 Python 高级陷阱,提升你的 Python 水平
  • TaD+RAG-缓解大模型“幻觉”的组合新疗法
  • 【文末赠书】清华汪玉教授团队:首部高效模型压缩与设计专著重磅上市
  • 我是真的后悔从国家电网离职了。。