| name | desktop-applications |
| description | Build cross-platform desktop applications with Rust using Tauri framework and native GUI alternatives |
| user-invocable | false |
| disable-model-invocation | true |
| version | 1.0.0 |
| category | development |
| author | Claude MPM Team |
| license | MIT |
| progressive_disclosure | {"entry_point":{"summary":"Build performant cross-platform desktop apps with Tauri (web UI + Rust backend) or native GUI frameworks","when_to_use":"Creating native desktop applications requiring system integration, small bundle sizes, or high performance","quick_start":"1. Choose framework (Tauri vs native GUI) 2. Setup project structure 3. Implement IPC/state management 4. Add platform integration 5. Test cross-platform 6. Build and distribute"},"references":["tauri-framework.md","native-gui-frameworks.md","architecture-patterns.md","state-management.md","platform-integration.md","testing-deployment.md"]} |
| context_limit | 800 |
| tags | ["rust","desktop","tauri","gui","cross-platform","native"] |
| requires_tools | [] |
Rust Desktop Applications
Overview
Rust has emerged as a premier language for building desktop applications that combine native performance with memory safety. The ecosystem offers two main approaches: Tauri for hybrid web UI + Rust backend apps (think Electron but 10x smaller and faster), and native GUI frameworks like egui, iced, and slint for pure Rust interfaces.
Tauri has revolutionized desktop development by enabling developers to use web technologies (React, Vue, Svelte) for the frontend while leveraging Rust's performance and safety for system-level operations. With bundle sizes under 5MB and memory usage 1/10th of Electron, Tauri apps deliver desktop-class performance. Native frameworks shine for specialized use cases: egui for immediate-mode tools and game editors, iced for Elm-style reactive apps, slint for embedded and declarative UIs.
This skill covers the complete Rust desktop development lifecycle from framework selection through architecture, state management, platform integration, and deployment. You'll build production-ready applications with proper IPC patterns, async runtime integration, native system access, and cross-platform distribution.
When to Use This Skill
Activate when building desktop applications that need native performance, small bundle sizes, system integration, or memory safety guarantees. Specifically use when:
- Building Electron alternatives with web UI + Rust backend (Tauri)
- Creating high-performance developer tools or productivity apps
- Developing system utilities requiring native OS integration
- Building cross-platform apps for Windows, macOS, and Linux
- Need <10MB bundle sizes vs 100MB+ Electron apps
- Implementing real-time applications (audio/video processing, games)
- Creating embedded GUI applications (kiosks, IoT devices)
Don't Use When
- Simple web apps - Use Next.js, Vite, or web frameworks
- Mobile-first applications - Use Flutter, React Native, or Kotlin Multiplatform
- Purely CLI tools - Use clap/structopt for command-line apps
- Browser extensions - Use WebExtensions API
- Quick prototypes - Native development has setup overhead
- Team lacks Rust experience - Steep learning curve for system programming
The Iron Law
TAURI FOR WEB UI + RUST BACKEND | NATIVE GUI FOR PURE RUST | NEVER MIX BUSINESS LOGIC IN FRONTEND
Duplicating logic between frontend and backend, or bypassing IPC for direct access, violates architecture.