A fullstack Rust framework for building cross-platform apps (web, desktop, mobile) with a single codebase.
Dioxus is a fullstack Rust framework for building user interfaces that run on web, desktop, mobile, and other platforms from a single codebase. It solves the problem of platform fragmentation by providing a unified development experience with integrated tooling, hot-reloading, and a React-like component model. Developers can write UI logic once and deploy it everywhere without sacrificing performance or native capabilities.
Rust developers and teams looking to build cross-platform applications (web, desktop, mobile) with a single technology stack, especially those valuing performance, type safety, and a modern developer experience.
Dioxus offers a unique combination of Rust's safety and performance with the ergonomics of popular frontend frameworks, plus first-class cross-platform support. Its integrated CLI, hot-reloading, and fullstack capabilities reduce toolchain complexity, while its modular architecture allows for deep customization and embedding in other Rust projects.
Fullstack app framework for web, desktop, and mobile.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Build for web, desktop, mobile, server, and embedded with a single codebase, as highlighted in the README's platform support table, reducing fragmentation and maintenance.
Signals-based state combines ergonomics from React, Solid, and Svelte, offering performant updates without manual optimization, as described in the blog post link.
Subsecond hot-patching for Rust code and asset reloading enables rapid iteration, with CLI commands like `dx serve` and experimental `--hotpatch` for real-time updates.
Deep integration with Axum provides WebSockets, SSR, forms, and middleware out of the box, facilitating seamless backend-frontend development, as shown in the fullstack diagram.
Renderers like WGPU and features such as hotpatch are labeled experimental, limiting production readiness for advanced native rendering beyond webviews.
At version 0.7, Dioxus is subject to breaking changes, which can impact long-term project stability and require frequent updates, as noted in the release announcement.
Requires proficiency in Rust, making it inaccessible for developers without Rust knowledge or teams invested in JavaScript ecosystems, despite the ergonomic API.
Compared to mature frameworks, the library and component ecosystem is smaller, which might increase development time for custom features, though first-party primitives help.