WebView2 全面发布概述
微软最近宣布了 WebView2 的全面发布,这是一个基于 Chromium 的控件,用于在原生 Windows 应用程序中托管网页内容。WebView2 支持生产环境中的 Win32 C/C++、.NET Framework、.NET Core 和 .NET 5 应用程序。WebView2 提供了两种分发模型(evergreen 和 fixed),具有不同的更新策略(自动或手动)。
WebView2 的核心理念
微软解释了在原生 Windows 应用程序中嵌入 WebView2 控件的原因:
开发者通常需要在构建 Web 应用程序和原生应用程序之间做出选择。这一决定取决于覆盖范围与功能之间的权衡。Web 应用程序具有广泛的覆盖范围,而原生应用程序则能充分利用整个原生平台的功能。
混合应用程序允许开发者同时享受两者的优势。混合应用程序开发者既可以利用 Web 平台的普及性和强大功能,也可以利用原生平台的全部功能。
通过 WebView2,开发者可以使用 Web 技术构建整个 Windows 应用程序,或将自定义的基于 Web 的应用程序元素或渐进式 Web 应用程序(PWA)嵌入到他们的应用程序中。使用 Web 代码(HTML/JavaScript/CSS),开发者可以重用大量现有的应用程序、组件以及人才资源。例如,开发者可以利用 Microsoft 的新 FAST 框架库 中的 Web 组件。
WebView2 的通信机制
在部分使用 WebView2 构建应用程序时,可能需要在宿主和 Web 内容之间进行不同级别的通信和协调。开发者可以使用 postMessage API(具体为 window.chrome.webview.postMessage 方法)在 Web 内容和 Windows 宿主之间进行通信。相反方向的通信则通过在 Web 端使用 window.chrome.webview.addEventListener 方法注册监听器来实现。这种双向通信为宿主和 Web 端提供了对话能力,使得 Web 内容能够充分利用宿主的原生 API。
WebView2 的分发模型
WebView2 通过两个版本分发:evergreen 和 fixed 版本。evergreen 版本将由微软自动定期(每六周)更新。fixed 版本打包了特定版本的 WebView2 运行时,需要在需要时手动更新。evergreen 版本旨在减少碎片化,让开发者能够访问最新的 Web API。fixed 版本则适用于那些有严格兼容性要求的应用程序。
WebView2 支持的平台
微软列出了 WebView2 支持的平台:
- Windows 10
- Windows 8.1
- Windows 7 **
- Windows Server 2019
- Windows Server 2016
- Windows Server 2012
- Windows Server 2012 R2
- Windows Server 2008 R2 **
开发者资源
希望开始使用 WebView2 的开发者应查看 WebView2 入门教程 并阅读 WebView2 文档。全面的示例 可在网上找到。WebView 团队 鼓励反馈 以改进未来的 WebView 发布。
总结
WebView2 的全面发布为开发者提供了一个强大的工具,使他们能够在原生 Windows 应用程序中嵌入 Web 内容,从而充分利用 Web 和原生平台的优势。通过两种分发模型和双向通信机制,WebView2 提供了灵活性和强大的功能,适用于各种应用程序开发需求。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。