Repolode
DioxusLabs

DioxusLabs/dioxus

A Rust framework for building web, desktop, and mobile apps from a single codebase, with React-like components and signals.

Open-source alternative to:React NativeElectron

Stars
39,451
Forks
1,938
Open issues
850
Last commit
4 days ago

What is it?

Dioxus is a Rust framework for building user interfaces that run on the web, desktop, iOS, Android, and on the server. Components are written with an RSX macro that resembles HTML, and styling uses ordinary HTML and CSS. State is managed with signals, and a built-in CLI (dx) provides a dev server with hot reloading and bundling for deployment.

For full-stack apps, Dioxus integrates with the axum web framework and offers server functions, server-side rendering, hydration, WebSockets, SSE, streaming, file upload and download, and middleware. Rendering targets include the DOM via WebAssembly, system webviews, server-side rendering, liveview, and an experimental WGPU-based renderer. Native APIs can be called through JNI on Android and Objective-C on Apple platforms.

The project also includes first-party primitive components modeled after shadcn/ui and Radix Primitives, and the dx CLI can build .ipa and .apk files for mobile.

Key features

  • 01Write one Rust codebase that targets web, desktop, iOS, and Android.
  • 02Hot reloading for markup and styles, plus experimental hot-patching of Rust code.
  • 03Signals-based state management with a React-like component model.
  • 04Full-stack support with axum integration, server functions, and SSR with hydration.
  • 05Built-in dx CLI for dev servers, bundling, and building mobile packages.

Use cases

  • Building a Rust-based web app that also needs a desktop build from the same code.
  • Creating native-feeling mobile apps in Rust that call into platform APIs.
  • Writing a full-stack Rust application with a server backend built on axum.
  • Prototyping UI components with HTML and CSS while keeping logic in Rust.

Quick start

  1. 1

    Install the Dioxus CLI from git with cargo

    cargo install --git https://github.com/DioxusLabs/dioxus dioxus-cli --locked
  2. 2

    Run an example from the repository root

    cargo run --example <example>
  3. 3

    Serve an example with hot-reloading in the web platform

    dx serve --example <example> --platform web -- --no-default-features

Things to know

  • Examples on the main branch target the git version, not the latest stable release; use the 0.6 branch for stable examples.
  • Some headline features, such as hot-patching with dx serve --hotpatch and the WGPU renderer, are marked experimental.

Topics

FAQ

What is dioxus?
A Rust framework for building web, desktop, and mobile apps from a single codebase, with React-like components and signals. Dioxus is a Rust framework for building user interfaces that run on the web, desktop, iOS, Android, and on the server. Components are written with an RSX macro that resembles HTML, and styling uses ordinary HTML and CSS. State is managed with signals, and a built-in CLI (dx) provides a dev server with hot reloading and bundling for deployment.
Is dioxus free to use? What license does it have?
dioxus is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is dioxus still maintained?
Actively maintained. The last commit to dioxus was on Oct 17, 2026.
What can I use dioxus for?
Building a Rust-based web app that also needs a desktop build from the same code. Creating native-feeling mobile apps in Rust that call into platform APIs. Writing a full-stack Rust application with a server backend built on axum. Prototyping UI components with HTML and CSS while keeping logic in Rust.
How do I install dioxus?
Install the Dioxus CLI from git with cargo: cargo install --git https://github.com/DioxusLabs/dioxus dioxus-cli --locked Run an example from the repository root: cargo run --example <example> Serve an example with hot-reloading in the web platform: dx serve --example <example> --platform web -- --no-default-features
Where can I get dioxus?
The source code and installation instructions are on GitHub: https://github.com/DioxusLabs/dioxus

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects