主题
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、更新器、本地存储等。
