What Tauri Does
- Rust backend — filesystem, shell, network, native APIs
- Commands — TypeScript → Rust function calls
- System tray — cross-platform tray icons
- Menus — native menu bar, context menus
- Updater — cryptographically signed auto-updates
- Sidecar binaries — ship extra executables
- Mobile (v2) — iOS and Android targets
- Permissions — granular allowlist per capability
Architecture
One process split into Core (Rust) + WebView (HTML/JS). Frontend calls Rust commands via IPC. Tauri v2 introduces a plugin system, mobile support, and fine-grained capability-based permissions (replacing the v1 allowlist).
Self-Hosting
npm run tauri build
# Produces platform-specific installers in src-tauri/target/release/bundle/
# .msi / .dmg / .app / .deb / .rpm / .AppImageKey Features
- 3-10MB binaries (vs Electron 150MB)
- Rust backend (memory-safe, fast)
- Mobile support (iOS/Android)
- Capability-based security
- Code signing (Windows + macOS)
- Cross-platform installers
- Plugin ecosystem
- ~80MB idle memory
Comparison
| Framework | Size | Language | Mobile | Runtime |
|---|---|---|---|---|
| Tauri | 3-10MB | Rust + JS | Yes (v2) | OS WebView |
| Electron | ~150MB | JS | No | Chromium + Node |
| Wails | ~8MB | Go + JS | No | OS WebView |
| Neutralino | ~2MB | C++ + JS | No | OS WebView |
常见问题 FAQ
Q: WebView 不一致怎么办? A: macOS Safari vs Windows Edge vs Linux WebKitGTK 渲染差异。测试要覆盖所有目标。Tauri 2 正在改进一致性。
Q: 必须学 Rust 吗? A: 基础命令不需要。只有定制原生功能时才写 Rust。大部分 web 开发者几天能上手。
Q: v1 和 v2 区别? A: v2 有移动端支持、新 permission 系统、plugin 架构。v1 只支持桌面。
来源与致谢 Sources
- Docs: https://tauri.app/
- GitHub: https://github.com/tauri-apps/tauri
- License: Apache 2.0 / MIT