https://beta.tauri.app/guides/ Skip to content [logo] [logo_light] Tauri [Menu ] GuidesReferencesBlogAbout Search Cancel GitHub Discord Twitter Mastodon Select theme [Auto ] Select language [English ] Blog * Quick Start + What is Tauri? + Prerequisites + Create a Project + Frontend Configuration + Upgrade & Migrate + Core Concepts + Troubleshooting * Guides + Develop + Debug + Test + Build + Distribute + Plugin Development * References + List of References + Tauri Configuration + Access Control List + Command Line Interface (CLI) + JavaScript API + Rust API (via Docs.rs) * Features & Recipes + List of Features & Recipes + Authenticator + Autostart + Barcode Scanner New + Command Line Interface (CLI) + Clipboard + Commands + Deep Linking New + Dialog + File System + Global Shortcut + HTTP Client + Localhost + Logging + Notifications + OS Information + Persisted Scope + Positioner + Process + Shell + Single Instance + SQL + Store + Stronghold + Updater + Upload + Websocket + Window Customization + Window State GitHub Discord Twitter Mastodon Select theme [Auto ] Select language [English ] On this page * Overview * Why Tauri? + Secure Foundation + Smaller App Size + Flexible Architecture On this page * Overview * Why Tauri? + Secure Foundation + Smaller App Size + Flexible Architecture What is Tauri? Prerelease Software This documentation is for the prereleased version of Tauri 2.0 and is subject to change as development continues. If you're looking for Tauri 1.0 documentation visit https://tauri.app. Tauri is a framework for building tiny, fast binaries for all major desktop and mobile platforms. Developers can integrate any frontend framework that compiles to HTML, JavaScript, and CSS for building their user experience while leveraging languages such as Rust, Swift, and Kotlin for backend logic when needed. Get started building with create-tauri-app by using one of the below commands. Be sure to follow the prerequisites guide to install all of the dependencies required by Tauri and then view the Frontend Configuration guides for recommended frontend configurations. * Bash * PowerShell * npm * Yarn * pnpm * Cargo Terminal window sh <(curl https://create.tauri.app/sh) --alpha Terminal window $env:CTA_ARGS="--alpha"; irm https://create.tauri.app/ps | iex Terminal window npm create tauri-app@latest -- --alpha Terminal window yarn create tauri-app --alpha Terminal window pnpm create tauri-app --alpha Terminal window cargo install create-tauri-app cargo create-tauri-app --alpha After you've created your first app you can explore the different features and recipes of Tauri in the List of Features & Recipes. Why Tauri? Tauri has 3 main advantages for developers to build upon: * Secure foundation for building apps * Smaller bundle size by using the system's native webview * Flexibility for developers to use any frontend and bindings for multiple languages Learn more about the Tauri philosophy in the Tauri 1.0 blog post. Secure Foundation By being built on Rust, Tauri is able to take advantage of the memory, thread, and type-safety offered by Rust. Apps built on Tauri can automatically get those benefits even without needing to be developed by Rust experts. Tauri also undergoes a security audit for major and minor releases. This not only covers code in the Tauri organization, but also for upstream dependencies that Tauri relies on. Of course this doesn't mitigate all risks, but it provides a solid foundation for developers to build on top of. Read the Tauri security policy and the Tauri 1.0 audit report. Smaller App Size Tauri apps take advantage of the web view already available on every user's system. A Tauri app only contains the code and assets specific for that app and doesn't need to bundle a browser engine with every app. This means that a minimal Tauri app can be less than 600KB in size. Learn more about creating optimized apps in the App Size concept. Flexible Architecture Since Tauri uses web technologies that means that virtually any frontend framework is compatible with Tauri. The Frontend Configuration guide contains common configurations for popular frontend frameworks and the Rendering concept discusses which rendering techniques work best with Tauri (such as SPAs and SSGs). Bindings between JavaScript and Rust are available to developers using the invoke function in JavaScript and Swift and Kotlin bindings are available for Tauri Plugins. TAO is responsible for Tauri window creation and WRY is responsible for web view rendering. These are libraries maintained by Tauri and can be consumed directly if deeper system integration is required outside of what Tauri exposes. In addition, Tauri maintains a number of plugins to extend what core Tauri exposes. You can find those plugins alongside those provided by the community in the Features and Recipes section. Edit page Last updated: Nov 5, 2023 Next Prerequisites --------------------------------------------------------------------- (c) 2024 Tauri Contributors. CC-BY / MIT