Tauri
Build tiny, fast, and secure desktop and mobile apps with a Rust backend and a web frontend.
Repository Health
Technical Analysis
Tauri is a framework for building cross-platform desktop and mobile applications that pair a Rust backend with a web-based user interface. Instead of shipping an entire browser engine, it renders your HTML/CSS/JS through each operating system’s native webview (WKWebView, WebView2, WebKitGTK), producing binaries that are dramatically smaller and more memory-efficient than typical Electron apps.
Beyond rendering, Tauri owns the full application lifecycle: it scaffolds projects, wires a secure IPC bridge between JavaScript and Rust commands, enforces a capability-based permission system, and bundles finished apps into platform-native installers (.dmg, .deb, .rpm, .AppImage, .msi, .exe) with an optional built-in updater. You can bring any frontend framework that compiles to HTML, JS, and CSS.
What You Get
- A Rust application core that renders your existing web frontend through the OS-native webview, keeping binaries small and memory usage low.
- A type-safe IPC layer that exposes Rust functions to JavaScript via the
#[command]macro andgenerate_handler!. - A capability- and permission-based security model (ACL) that scopes what the frontend is allowed to invoke.
- A built-in bundler that produces native installers for macOS, Windows, and Linux, plus a self-updater for desktop.
- First-class mobile support for iOS and Android alongside the desktop targets.
Common Use Cases
- Porting an existing web application into a lightweight, installable desktop app without the overhead of Electron.
- Shipping a single codebase to desktop and mobile with native installers and app-store bundles.
- Building security-sensitive desktop tools where a granular permission system over native APIs matters.
- Creating developer tools, dashboards, and utilities that need system tray icons, native notifications, and auto-updates.
Under The Hood
Architecture — Tauri is a multi-crate workspace layered around a runtime abstraction. The public tauri crate (crates/tauri, ~1,260 lines in lib.rs and a 2,664-line app.rs) exposes the app builder, Manager, AppHandle, window/webview, menu, tray, and plugin APIs. Windowing and webview are delegated through the tauri-runtime trait and its default implementation tauri-runtime-wry, which drives tao for window handling and WRY for a unified interface over WKWebView, WebView2, and WebKitGTK. A codegen layer (tauri-codegen, tauri-macros) compiles tauri.conf.json, embeds assets, and generates the IPC command dispatch, while a RuntimeAuthority enforces the capability/permission ACL on every frontend call routed through the ipc module. Tech Stack — Written in Rust (edition 2021+) with Tokio as the async runtime; serde/serde_json for configuration and IPC serialization; thiserror and anyhow for errors; url and uuid utilities; and the tao/WRY stack for native windowing. The repo is a Cargo + pnpm hybrid, splitting Rust crates (tauri, tauri-build, tauri-cli, tauri-bundler, tauri-runtime, etc.) from TypeScript API/CLI packages. Code Quality — The codebase is mature and well-tested: roughly 20 source files under the core crate carry inline #[cfg(test)] coverage, and a dedicated test module ships a mock_runtime so applications and Tauri itself can be exercised without a real webview. Extensive //! module docs, a documented feature-flag matrix, and a large examples/ tree (api, multiwindow, isolation, resources, and more) back the public surface. API Design — The developer experience centers on ergonomic macros — #[command], generate_handler!, and mobile_entry_point — that reduce IPC boilerplate to annotated functions, plus a fluent Builder pattern for assembling the app. Feature flags are granular and documented, and the CLI (create-tauri-app) scaffolds a working project in one command.
Used by 116 apps in this directory
undb
Databases · No Code Platforms
Self-hosted no-code database and BaaS that lets you manage structured data visually with multi-database support, formula fields, and auto-generated OpenAPI endpoints.
Unsloth
AI Assistants · AI Development
Run and fine-tune LLMs, diffusion, audio and embedding models on your own hardware, from a native desktop app, a browser UI, or a Python library.
Unsloth
AI Assistants · AI Development
Run and fine-tune LLMs, diffusion, audio and embedding models on your own hardware, from a native desktop app, a browser UI, or a Python library.
Unsloth
AI Assistants · AI Development
Run and fine-tune LLMs, diffusion, audio and embedding models on your own hardware, from a native desktop app, a browser UI, or a Python library.
Vibe Kanban
AI Agents · AI Code Assistants · Project Management
A kanban board for planning work and dispatching Claude Code, Codex, Gemini CLI, and eight other coding agents into isolated git worktrees, then reviewing and merging their diffs from one UI.
Vibe Kanban
AI Agents · AI Code Assistants · Project Management
A kanban board for planning work and dispatching Claude Code, Codex, Gemini CLI, and eight other coding agents into isolated git worktrees, then reviewing and merging their diffs from one UI.
VideoHighlighter
Video Editors
Local AI desktop tool that scores, explains, and cuts the moments that matter in raw footage — scene, motion, audio, object, and action detection, fully offline via Ollama and Whisper.
VideoHighlighter
Video Editors
Local AI desktop tool that scores, explains, and cuts the moments that matter in raw footage — scene, motion, audio, object, and action detection, fully offline via Ollama and Whisper.
VideoHighlighter
Video Editors
Local AI desktop tool that scores, explains, and cuts the moments that matter in raw footage — scene, motion, audio, object, and action detection, fully offline via Ollama and Whisper.