Tauri 是一款融合 Rust 与 JavaScript/TypeScript 技术的跨平台应用开发框架,旨在帮助开发者构建更小巧、运行更迅捷且安全性更高的桌面与移动应用。
项目地址:https://github.com/tauri-apps/tauri
Tauri 支持所有主流平台,包括 Windows、macOS、Linux、iOS/iPadOS 以及 Android。

官方网站:https://tauri.app

框架核心架构
Tauri 应用程序由两部分构成:
- 前端界面:由任何可以编译为 HTML、JS 和 CSS 的前端框架(如 Vue、React 或 Angular)构建。这意味着你可以充分利用现有的前端框架与工程化生态和开发经验。
- 后端核心:一个基于 Rust 编译的二进制文件,为前端提供可交互的 API,并负责应用程序的核心逻辑与系统交互。
在渲染层面,Tauri 使用系统原生的 WebView,而非捆绑一个完整的 Chromium 浏览器,这是其实现轻量化的关键:
- 窗口管理:使用
tao 库处理各平台的窗口。
- WebView 渲染:通过
WRY 库提供统一接口,在 macOS/iOS 上调用 WKWebView,在 Windows 上调用 WebView2,在 Linux 上调用 WebKitGTK,在 Android 上调用系统 WebView。
核心功能特性
Tauri 提供了丰富的开箱即用功能,以支持完整的应用开发与发布流程:
- 内置应用打包:可生成多种格式的安装包,例如
.app、.dmg (macOS)、.deb、.rpm、.AppImage (Linux),以及 Windows 上的 .exe (NSIS) 和 .msi (WiX) 安装程序。
- 自动更新:内置安全的自动更新机制(目前支持桌面端)。
- 系统集成:支持系统托盘图标、原生系统通知。
- 高效的资源加载:通过自定义协议直接提供前端资源,无需启动本地 HTTP 服务器。
- 开发工具链:提供了简化持续集成(CI)流程的 GitHub Action,以及 Visual Studio Code 扩展,提升了开发与运维/DevOps效率。
与 Electron 的对比分析
Tauri 最常被拿来与 Electron 进行比较。两者核心差异在于架构:
- Electron:捆绑了 Node.js 和 Chromium 渲染引擎,应用体积相对较大,但生态非常成熟。
- Tauri:使用系统 WebView 和 Rust 后端,应用体积显著减小,启动速度和内存占用通常更具优势,且 Rust 语言带来了更高的内存安全性与性能。
因此,Tauri 在“更小、更快、更安全”方面表现突出。其潜在的挑战在于生态系统的丰富度仍在发展过程中,目前尚不及 Electron。例如,国内开发者熟悉的 Uni-App,其桌面端就是基于Electron实现的。


封面图片:

|