Tauri 桌面应用实践:小而稳的跨端方案

从架构、权限到打包,做一个可上线的 Tauri 应用。

阅读时长: 2 分钟

为什么选 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 很合适。

共书写了 11.5k 字 · 共 15 篇文章
Built with Nuxt 3
Theme Stack designed by Jimmy