Skip to content

Tauri

Tauri 用系统 WebView 渲染前端,用 Rust 作为核心进程构建桌面和移动应用。界面层仍是 HTML、CSS、JavaScript,系统能力由 Rust 侧通过 Command、插件和原生绑定提供。

当前笔记基于 Tauri 2。

核心结构

典型项目由前端工程和 src-tauri 组成:

bash
.
├── src/                 # 前端源码
├── src-tauri/
   ├── Cargo.toml
   ├── build.rs
   ├── tauri.conf.json  # 应用配置
   ├── capabilities/    # 权限能力
   ├── icons/
   └── src/
       ├── main.rs      # 桌面入口
       └── lib.rs       # 应用逻辑与移动入口
├── package.json
└── index.html

职责划分:

  • 前端:负责界面渲染,通过 @tauri-apps/api 调用受控能力。
  • src-tauri:拥有操作系统权限,负责窗口、文件系统、数据库、托盘等系统能力。
  • tauri.conf.json:标识符、窗口、构建命令、打包目标和安全策略。
  • capabilities/:声明哪些窗口可以使用哪些权限和 Command。

桌面构建入口是 main.rs,实际逻辑写在 lib.rs。移动端会把应用编译成库,再由平台框架加载,因此共用 lib.rs

运行差异

  • 窗口由 TAO 创建,WebView 由 WRY 渲染。
  • Windows 使用 WebView2,macOS 使用 WKWebView,Linux 使用 webkitgtk。
  • 最终包不内置 Chromium,体积通常远小于同类 Chromium 方案。
  • WebView 实现因平台而异,前端需要按实际引擎处理兼容性。

常用工具

  • create-tauri-app:创建项目模板。
  • @tauri-apps/cli:开发、构建和打包。
  • 官方插件:文件系统、对话框、通知、HTTP、Shell、更新器、本地存储等。

基于 MIT 许可发布