使用 Web 前端技术构建更小、更快、更安全的跨平台桌面应用。

所在地:
美国
语言:
zh
收录时间:
2026-08-26

框架定位与技术路线

Tauri 是一个面向桌面端应用的跨平台开发框架,核心思路是利用操作系统自带的 WebView 渲染界面,以 Rust 构建后端逻辑。与 Electron 打包整个 Chromium 运行时不同,Tauri 直接调用各平台的系统 WebView(Windows 上的 WebView2、macOS 上的 WKWebView、Linux 上的 WebKitGTK),因此产物体积和内存占用通常显著更低。

前端技术栈不受限制,可使用 React、Vue、Svelte 或原生 HTML/CSS/JavaScript。后端由 Rust 编写,通过 IPC 机制与前端通信。

核心特性

特性 说明
产物体积 最小可至约 600KB,典型应用通常在 3-10MB 范围
内存占用 低于 Electron 应用,依赖系统 WebView 共享资源
安全性 默认启用 CSP,提供细粒度权限配置,禁用不必要的 API
构建工具链 基于 Rust 的 cargo 与 Node.js 脚手架,支持自动更新
平台支持 Windows、macOS、Linux,移动端支持处于实验阶段

架构组成

Tauri 由两个主要部分构成:

  • tauri crate:Rust 核心库,负责窗口管理、系统 API 调用、文件系统访问、事件系统等后端能力
  • @tauri-apps/api:JavaScript/TypeScript 包,提供前端可调用的强类型 API,涵盖剪贴板、对话框、通知、全局快捷键等模块

前后端之间的通信通过自定义协议完成。前端调用 invoke 方法发送请求,Rust 端注册对应的命令处理函数并返回结果。这种设计下,渲染进程不直接拥有 Node.js 能力,攻击面相对收敛。

开发体验

初始化项目使用 create-tauri-app,支持多种前端模板。开发过程中提供热重载,Rust 端代码修改后自动重新编译。调试方面,前端沿用浏览器 DevTools,后端可使用 Rust 生态的日志与调试工具。

构建产物时,Tauri 会生成平台对应的安装包(.msi.dmg.deb 等),并支持配置代码签名与公证流程。

适用场景与权衡

Tauri 适合对安装包体积、内存占用有要求的工具类应用、内部管理系统、轻量级桌面客户端。若应用深度依赖 Chromium 特定行为或需要高度一致的渲染环境,则需要评估系统 WebView 差异带来的兼容性成本。不同操作系统的 WebView 版本与能力存在差异,部分 CSS 特性或 API 行为可能需要额外处理。

资源入口

相关导航