// the find
tauri-apps/tauri
Build smaller, faster, and more secure desktop and mobile applications with a web frontend.
Tauri is a framework for building desktop and mobile apps using a web frontend (any HTML/JS/CSS framework) backed by a Rust binary, using the OS's native webview instead of bundling Chromium like Electron does. It targets developers who want smaller binaries and lower memory usage compared to Electron, without giving up web-based UI development. V2 adds mobile (iOS/Android) support alongside the existing desktop targets.
- Binary size and memory footprint are genuinely much smaller than Electron because it delegates rendering to the OS webview (WKWebView, WebView2, WebKitGTK) rather than shipping a full Chromium instance — hello world apps under 10MB are realistic.
- The security model with capability-based ACL (the `capabilities/` JSON files and ACL crate) is well-thought-out: plugins and IPC calls require explicit permission grants, and it's verified at compile time via tauri-build codegen, not just runtime checks.
- The toolchain is genuinely full-stack: CLI handles dev server proxying, hot reload, code signing, multi-format bundling (.deb, .rpm, .AppImage, .msi, .dmg, NSIS), and self-updating — things you'd otherwise glue together yourself.
- Two independent third-party security audits (Radically Open Security) are included in the repo, which is rare and signals the project takes supply-chain and runtime security seriously.
- Depending on the OS webview means rendering inconsistencies across platforms are your problem. Linux on older Ubuntu gets WebKitGTK with incomplete CSS/JS support, and you won't catch it until you test there — there's no Chromium version floor to reason about.
- Mobile support (iOS/Android) is still rough in practice: the setup requires Xcode, Android Studio, correct SDK versions, and the error messages when something is misconfigured are often cryptic; cross-compiling from Linux to iOS is not possible at all.
- Rust is required for any backend logic, which is a hard prerequisite — teams with JS-only developers will hit a wall the moment they need anything beyond the built-in plugin APIs, unlike Electron where everything is Node.js.
- The plugin ecosystem, while growing, is younger and thinner than Electron's npm ecosystem. Some common needs (complex native menus, advanced tray behavior, certain OS integrations) require either waiting for an official plugin or writing Rust yourself.