Our take
- Activity
- 66
- Community
- 80
- Issues
- 56
- Pull requests
- 53
+53 stars in the last 7 days
- More contributors than 77% of the projects we track
- Slower to close issues than 80% of the projects we track
Overview
Dioxus is a Rust framework for building interactive applications across web, desktop, and mobile platforms. It uses a component-based UI model with RSX markup and signals-based state, aiming to let developers share application code instead of maintaining separate platform-specific frontends.
It also offers a path from UI development to fullstack applications, with server-side rendering and server functions. Dioxus is a fit for Rust developers who want a unified toolkit and are comfortable adopting a framework whose platform capabilities include experimental options.
Key Features
- Build interfaces in Rust with components, RSX markup, and signals-based state.
- Target web, desktop, and mobile from a shared codebase, with platform-specific native access available.
- Use web rendering, webviews, server-side rendering, or experimental WGPU rendering options.
- Add backend behavior through server functions and integrations with axum.
- Develop with the
dxCLI, including a development server and asset hot-reloading. - Bundle applications for web, desktop, and mobile deployment.
- Use HTML and CSS styling, with built-in TailwindCSS support.
Use Cases
- Rust developers building a web interface who want to keep UI logic in Rust and use server-side rendering or WebAssembly.
- Small teams targeting desktop and web that want to share UI and application logic across platforms.
- Developers prototyping Android or iOS apps in Rust who need access to native APIs through JNI or Objective-C.
- Fullstack teams adding interactive pages and server-side functionality to a Rust application.
Getting Started
Install the CLI and start a project or serve an example:
curl -fsSL https://dioxuslabs.com/install.sh | bash
dx serve
See the repository README and Dioxus documentation for setup details and platform-specific guidance.
Alternatives
| Project | Language | License | Stars | Status |
|---|---|---|---|---|
| dioxus | Rust | Apache-2.0 | 39.3k | Not checked yet |
| fyne | Go | BSD-3-Clause | 28.7k | Active |
| ice | TypeScript | MIT | 18.6k | Quiet |
Considerations
- The README identifies WGPU rendering and Rust hot-patching as experimental; verify their suitability before relying on them.
- Web, desktop, and mobile use different rendering approaches and platform tooling, so a shared codebase does not remove all platform-specific setup or testing.
- The README notes that examples on the main branch target the git version of Dioxus and the CLI. Stable-release users may need the examples from the 0.6 branch.
- The project reports 813 open issues, so check current issue and release activity for the specific capabilities your application depends on.
Found this useful?
Share it with someone who would like dioxus.