$ account tauri-apps
Tauri is a production-grade framework for building cross-platform desktop and mobile applications using web frontends (HTML/JS/CSS) backed by a Rust core. The repository is a large monorepo containing the core library (`crates/tauri`), CLI tool (`crates/tauri-cli`), bundler (`crates/tauri-bundler`), runtime abstraction (`crates/tauri-runtime`), macros (`crates/tauri-macros`), code generation (`crates/tauri-codegen`), utilities (`crates/tauri-utils`), and platform-specific implementations for Windows, macOS, Linux, Android, and iOS. The architecture is modular: the core provides an application builder, plugin system, IPC (commands and events), window/webview management, tray icons, menus, state management, and a resource table. The CLI orchestrates development, building, bundling, and mobile workflows. The bundler produces platform-specific packages (MSI, NSIS, DMG, AppImage, deb, rpm, etc.). The framework emphasizes security through a capability-based ACL system, CSP injection, and an isolation pattern for IPC. It is actively maintained with frequent releases, extensive CI/CD, and a large ecosystem of plugins.
wry is a production-grade Rust library that provides a unified API to embed webviews across Windows (WebView2), macOS/iOS (WKWebView), Linux (WebKitGTK), and Android (WebView). It serves as the core webview component for the Tauri framework, enabling desktop and mobile applications with hybrid UIs. The architecture uses platform-specific backends selected via conditional compilation, all exposing a consistent interface through the `WebViewBuilder` and `WebView` types. The library supports custom protocols, synchronous and asynchronous IPC between Rust and JavaScript, drag-and-drop, permission handling, download management, proxy configuration, transparent backgrounds, and GPU rendering (wgpu, OpenGL). The codebase demonstrates strong engineering practices: a clear builder pattern, comprehensive error handling (including platform-specific error variants), performance benchmarks (binary size, memory, syscalls), and extensive CI covering multiple OS/architecture targets. Mobile support requires environment variables for Android and a `cargo-mobile2` bootstrap for iOS. The library is actively maintained with frequent releases and dependency updates, though it has a high MSRV (1.85) and some security audit ignores due to toolchain constraints.