在 Windows 平台上,Tauri 的前端界面由 Microsoft Edge WebView2 渲染。WebView2 不是“又一个自带的浏览器”,而是基于 Edge(Chromium)的运行时组件,专门为桌面应用提供现代 Web 渲染能力。它和完整的 Edge 浏览器共享内核,但以更轻量的方式嵌入到应用中,不显示浏览器 UI,仅负责绘制 HTML/CSS/JavaScript。
为什么是 WebView2?
Windows 原生并没有像 macOS 或 Linux 那样统一的系统 WebView。早期的 Windows WebView 基于 IE11,功能受限且早已过时。微软在 2020 年推出了 WebView2,基于与 Edge 浏览器相同的 Chromium 内核,具备以下优势:
- 和主流浏览器一致:支持最新的 JavaScript、CSS、Web API,前端无需做任何妥协;
- 独立更新:WebView2 运行时会通过 Windows Update 自动更新,不依赖 Edge 浏览器是否被用户使用,安全补丁跟上 Chromium 节奏;
- 永久部署和常青部署可选:如果用户机器上缺少 WebView2 运行时,Tauri 安装包可以携带“常青引导安装程序”,自动下载安装,也可以选择打包固定版本的 WebView2(但会增加安装包体积)。
对 Tauri 开发者的实际影响
在 Windows 上使用 Tauri 时,你不需要手动安装 WebView2,Tauri CLI 会在 tauri build 时自动检测你的目标系统配置。通常有两种方式确保应用正常运行:
- 引导安装(推荐)
在 tauri.conf.json 的 windows 配置中,启用 webviewInstallMode: "downloadBootstrapper"。打包出的 .msi 或 .exe 会在初次运行时检查 WebView2,若不存在则自动下载安装,整个过程对用户是透明的。这会让安装包保持极小(几 MB),但需要用户有网络连接。
- 固定版本内嵌
如果你追求完全离线安装,可以启用 webviewInstallMode: "fixedRuntime",并在配置中指定一个 WebView2 运行时路径。Tauri 会把它一起打包进应用中,安装包体积会增加约 120~150 MB(相当于多了一个迷你 Edge 内核)。这种方式适合企业内部无法访问外网的机器。
常见问题
- WebView2 运行时无法安装? 在 Windows 10/11 的家庭版和专业版上通常不会有问题,除非是极旧的系统(如 Windows 7,但 Tauri 2 已不支持)。如果用户处于完全离线的内网环境,务必选择固定版本嵌入。
- 渲染兼容性:WebView2 基于 Chromium,前端开发时可以直接用现代特性。唯一需要注意的是,某些浏览器扩展 API(如
chrome.*)不可用,这和一般嵌入式 WebView 的限制一致。 - 调试:开发时可以用右键打开 WebView2 的开发者工具(通过 Tauri 配置开启
devtools快捷键),性能分析和控制台与 Chrome DevTools 完全相同。
总而言之,Windows 下的 Tauri 应用借助 WebView2,获得了不输于浏览器端的渲染品质,同时保持了轻量安装和自动更新的便利。作为开发者,只需要根据分发场景选择正确的安装模式即可。