HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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

  • 2024-07-16
    北京
  • 本文字数:3488 字

    阅读完需:约 11 分钟

大小:1.62M时长:09:26
微软偷偷决定不开源Linux及macOS版WebView2,网友:等了四年,我还是用Electron?

微软不再开源 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 之类的替代方案。

 

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

 

事实上,微软最初发布 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 提供了一种在为桌面设计的应用程序 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/

2024-07-16 10:1213628
用户头像
李冬梅 加V:busulishang4668

发布了 946 篇内容, 共 538.1 次阅读, 收获喜欢 1105 次。

关注

评论 2 条评论

发布
用户头像
机翻之后还是建议小编校正一下。
2024-07-16 17:09 · 上海
回复
用户头像
qq
2024-07-16 16:35 · 北京
回复
没有更多了

2024 年的第一次见面!这场开源数据技术沙龙不容错过

Apache IoTDB

数智赋能,变革加速:人工智能技术与低代码开发利器

EquatorCoco

人工智能 AI 软件开发 低代码

电竞赛事开发融合体育直播平台:促进产业协同发展的新引擎

软件开发-梦幻运营部

快手商品数据采集神器,助你轻松获取商品详情数据

tbapi

快手商品详情数据接口 快手API接口 快手API 快手商品详情数据采集

互联网人的副业探索指南

老张

第二曲线 码农副业

HUAWEI Pocket 2亮相 HarmonyOS 4软硬件结合再掀智慧风潮

Geek_2d6073

中小企业“数实融合”的新趋势与新特点——探索数字化转型的秘诀

快乐非自愿限量之名

低代码 企业转型 数字转型

A/B测试助力企业优化私域运营:春节营销节点背后的科学决策

字节跳动数据平台

大数据 A/B 测试 企业号 2 月 PK 榜 对比试验 数字化增长

创纪录:英伟达市值一日增 2770 亿美元;Xiaomi 14 Ultra 正式发布丨 RTE 开发者日报 Vol.150

声网

Alibaba Cloud Linux 解锁云算力-软硬协同构建云上最佳操作系统体验

OpenAnolis小助手

Java Linux 阿里云 操作系统 龙蜥社区

TimechoDB v1.3.1 发布 | 新增多种内置函数、脚本工具等功能,集群可观测性持续提升

Apache IoTDB

责任链模式与spring容器的搭配应用

快乐非自愿限量之名

区块链 spring 容器 责任链

六大新兴技术助力未来工作效率提升

不在线第一只蜗牛

区块链 人工智能 云计算 物联网

性价比拉满!英特尔锐炫新驱动,提升可达418%!

E科讯

蓝戟英特尔锐炫A770驱动对比测评,游戏性能迎来全面提升!

E科讯

智能商品计划管理系统:服装品牌精准决策与高效运营的秘密武器

第七在线

2024年,技术圈的热点会是什么?

伤感汤姆布利柏

面试官:什么是Java内存模型?

不在线第一只蜗牛

Java 程序员 面试 内存

微软偷偷决定不开源Linux及macOS版WebView2,网友:等了四年,我还是用Electron?_微软_李冬梅_InfoQ精选文章