在 Windows 应用中使用 WebView2 嵌入 Web 界面
Microsoft Edge WebView2,来自微软公司,是一个开发者控件,可以将网络界面嵌入到本地Windows应用程序中,以实现混合用户界面。它在主机进程中显示HTML、CSS和JavaScript,同时允许主机和网络内容交换消息。分发选择包括自动运行时更新或固定版本部署以控制兼容性。该工具旨在面向希望在本地Win32或.NET工作流中重用网络资产的Windows桌面开发者。
运行时使用 Microsoft Edge (Chromium) 引擎并作为独立进程运行
控件运行一个与 Microsoft Edge 浏览器分开的基于 Chromium 的运行时,使用 Microsoft Edge (Chromium) 渲染引擎来渲染现代网页内容。msedgewebview2.exe 进程代表 WebView2 运行时,控件遵循多进程架构,通常包括一个管理进程、一个 GPU 进程和用于网页组件的单独渲染进程。该进程分离映射到 Chromium 的隔离模型。
控件集成的开发栈和工作流程
WebView2 目标桌面开发栈并与本机工具链集成。支持的主机和框架包括:
- Win32 C/C++
- .NET (WPF 和 WinForms)
- WinUI
团队必须规划的性能和部署权衡
由于用户有时报告与第三方应用程序中的 msedgewebview2.exe 实例相关的高内存和 CPU 使用率,开发人员应计划对重型网页模块进行分析和隔离。分析渲染进程并将资源密集型小部件放置在单独的 WebView 实例中可以减少竞争。运行时是一个与完整浏览器不同的组件,因此删除它可能导致依赖的应用程序无法渲染其 UI;在测试和发布期间将运行时视为可部署的工件。
WebView2 是混合 Windows 桌面开发的实用选择
WebView2 是 Windows 桌面开发者的实用选项,他们需要在本地进程中嵌入基于网络的界面。由于 msedgewebview2.exe 实例在某些部署中可能会增加内存和 CPU 使用率,因此要做好权衡。预算用于渲染器分析和在推出期间进行操作监控的团队,在将混合 UI 策略部署到生产桌面应用程序时,将从控制中获得最大的收益。