为什么选 Tauri
- 体积小:基于系统 WebView,不带一大坨 Chromium。
- 安全边界清晰:Rust 做后端逻辑,前端只跑 UI。
- 部署成本低:默认就能打出可分发包。
基本架构
前端(Vue/React/Svelte)→ WebView → Rust 后端(Commands)。
// 前端调用 Rust 命令
import { invoke } from '@tauri-apps/api/core'
const result = await invoke<string>('read_config')
#[tauri::command]
fn read_config() -> String {
"ok".to_string()
}
权限与安全
建议原则:最小权限。
- 只开放需要的
tauri.conf.json权限。 - 外部链接统一用
shell.open,别直接拼命令。 - 文件系统路径用
app_handle.path_resolver()做白名单。
打包建议
- 开发期先用
dev,确认资源加载正确。 - 发布前检查签名、图标、权限。
- Windows 侧注意证书,否则 SmartScreen 会弹警告。
总结
Tauri 更像“Web UI + Rust 内核”。如果你需要的是 轻、快、可控 的桌面应用,Tauri 很合适。