在过去,如果你想写一个跨平台桌面app,可能第一选择是Electron。用HTML/CSS/JavaScript写UI,打包成Windows、macOS或Linux可执行文件——听起来很方便。但Electron的“重”:打包后的体积大、运行时吃资源、启动慢,是不少开发者吐槽
在过去,如果你想写一个跨平台桌面 app,可能第一选择是 Electron。用 HTML/CSS/JavaScript 写 UI,打包成 Windows、macOS 或 Linux 可执行文件 —— 听起来很方便。但 Electron 的“重”:打包后的体积大、运行时吃资源、启动慢,是不少开发者吐槽的来源。

这时候,Tauri 出现了 — 它试图解决这些问题,又保留 Web 技术栈带来的灵活性。它的目标是:
简单来说,如果你希望 “把网页 + 本地逻辑” 拼成“桌面 App”,而且不想要一个几百 MB 的“浏览器 + 运行时”,Tauri 是一个非常有竞争力的方案。
Tauri 的一个关键设计是:不自己带浏览器引擎,而是使用「操作系统自带的 WebView」(Windows 用 WebView2 / macOS 用 WKWebView / Linux 用 WebKitGTK / etc.) 来渲染 UI。这样就避免了像 Electron 那样,把整个 Chromium + Node.js 内嵌进每个应用。
结果是:一个“Hello World” 级别的 Tauri 应用,打包后可能只有几 MB,而不是数百 MB。启动也更快,内存占用也低 — 对用户更友好,对系统也更轻。
Tauri 的后端是用 Rust 编写的。Rust 本身在内存安全、线程安全、类型安全方面都很强。Tauri 借助这些特性,提供了一个更可靠、安全的基础。即使你不是 Rust 专家,也可以建立起比纯 JS/Node 后端更稳固的后端逻辑。
此外,Tauri 项目本身也会定期进行安全审计 —— 不只是核心代码,还有它依赖的上游库。这样在构建面向用户的桌面应用时,更能减少安全隐患。
如果你有现成的前端项目 (用 React、Vue、Svelte…),几乎可以不动前端,只把它「嵌入」到 Tauri。因为 Tauri 支持任何能编译成 HTML/JS/CSS 的前端框架。
而后端(Rust + Tauri API)可以实现系统级功能 —— 文件读写、与系统交互、托盘、菜单、更新机制、安全检查……你也可以通过插件进一步扩展功能,比如数据库、加密、本地存储、系统权限、系统托盘、自动更新等等。
换句话说,Tauri 是一个「前端 + 后端 + 系统集成」三合一的框架,让 Web 技术 + 原生能力得以融合。
要理解 Tauri 的“魔法”,我们可以从它的架构说起 (基于 Tauri 官方文档 + 源码仓库结构) :
invoke() (JS) → 后端通过 #[command] 宏暴露命令 (Rust) → 用 JSON/序列化 + 自定义协议 (比如 tauri://localhost / asset://) 传输。这样前端不能随意访问系统资源,只能通过后端暴露的、安全控制过的 API。 这种“前端 + 本地后端 + WebView + 安全 IPC + 打包/发布”的组合,使得 Tauri 兼具现代 Web 的开发便利性,又拥有接近原生 App 的性能和体验。
假设你熟悉 Web 开发 (HTML/JS/前端框架) + 基本命令行操作,这里是一个简化步骤指南 — 快速上手 Tauri。
安装前置依赖
创建项目骨架
npm create tauri-app@latest
或者使用 yarn / pnpm /其他包管理器。这个命令会帮你搭一个带前后端基础结构的项目。
开发 (dev) 模式
tauri dev —— 它会启动 Rust 后端 + WebView + 前端 dev server,把它们“绑”到一个窗口里。你可以实时看到效果、调试 UI、调用后端 API。 配置 tauri.conf.json
打包 / 构建 (Build & Bundle)
tauri build。Tauri 会将前端资源和 Rust 后端编译、打包成目标操作系统的原生安装包 (Windows 的 .exe / .msi,macOS 的 .app / .dmg,Linux 的 .deb / .AppImage / .rpm,等等) 。bundle 配置,你还可以设置图标、签名 (code signing)、自动更新、许可协议等。最终你得到的是一个“像传统桌面应用一样”的产品。 扩展 / 插件 / 本地能力
Tauri 非常适合这些场景:
总的来说,如果你对“轻量 + 性能 + Web 开发体验 + 原生能力”有要求,Tauri 是一个非常值得尝试的选择。相比 Electron 那种“一次打包带整套浏览器” 的方式,Tauri 的设计更为理性,也更适合现代桌面/移动混合应用开发。
tauri dev → tauri build,看看结果。等你熟悉了,再慢慢加功能 (文件系统、数据库、系统托盘、插件…)。如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!