# DioxusLabs/dioxus

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/dioxuslabs-dioxus).**

34,784 stars · 1,550 forks · Rust · apache-2.0

## Links

- GitHub: https://github.com/DioxusLabs/dioxus
- Homepage: https://dioxuslabs.com
- awesome-repositories: https://awesome-repositories.com/repository/dioxuslabs-dioxus.md

## Topics

`android` `css` `desktop` `html` `ios` `native` `react` `rust` `ssr` `ui` `virtualdom` `wasm` `web`

## Description

Dioxus is a cross-platform development framework designed for building native desktop, mobile, and web applications from a single codebase. It utilizes a declarative component model and macro-powered syntax to define reusable interface elements, which are then rendered as native widgets or web elements. At its core, the framework employs a signal-based reactivity system that tracks state dependencies to trigger granular updates, ensuring efficient interface performance without re-rendering the entire application tree.

The framework distinguishes itself through a unified full-stack runtime that integrates server-side logic with client-side interactive components. It supports server-side rendering with HTML streaming and hydration, allowing developers to generate initial content on the server for improved load times and search engine visibility. Additionally, Dioxus provides a hot-reload development workflow that patches functions at runtime, enabling rapid iteration on application logic and interface designs without requiring manual restarts.

Beyond its core rendering and reactivity capabilities, Dioxus includes a comprehensive suite of tools for managing complex application requirements. This includes a robust routing system for nested layouts and dynamic parameter parsing, as well as advanced state management features like context sharing, signal-based data flow, and asynchronous task integration. The framework also offers native desktop integration for managing system windows and hardware access, alongside optimized networking primitives for bidirectional data streaming and efficient resource fetching.

## Tags

### User Interface & Experience

- [Component Architectures](https://awesome-repositories.com/f/user-interface-experience/component-architectures.md) — Creates reusable interface components as functions that map arguments to properties. ([source](https://dioxuslabs.com/learn/0.7/essentials/ui/components))
- [Cross-Platform Rendering Engines](https://awesome-repositories.com/f/user-interface-experience/cross-platform-rendering-engines.md) — Converts standard interface markup into native widgets or web elements for consistent cross-platform development. ([source](https://dioxuslabs.com/learn/0.7/essentials/ui/rsx))
- [Cross-Platform UI Frameworks](https://awesome-repositories.com/f/user-interface-experience/cross-platform-ui-frameworks.md) — Renders declarative user interfaces as native desktop, mobile, or web applications from a single codebase.
- [Signal-Based Reactivity](https://awesome-repositories.com/f/user-interface-experience/signal-based-reactivity.md) — Tracks individual state dependencies to trigger targeted component updates without re-rendering the entire application tree.
- [Signals](https://awesome-repositories.com/f/user-interface-experience/signals.md) — Creates signals that automatically notify and update dependent components whenever values change. ([source](https://dioxuslabs.com/learn/0.7/essentials/basics/signals))
- [State Management](https://awesome-repositories.com/f/user-interface-experience/state-management.md) — Controls application state through explicit signal-based reactivity that tracks reads and writes. ([source](https://dioxuslabs.com/learn/0.7/essentials/basics/))
- [Component Property Systems](https://awesome-repositories.com/f/user-interface-experience/component-property-systems.md) — Defines properties as function arguments or structures to ensure efficient data-driven re-rendering. ([source](https://dioxuslabs.com/learn/0.7/essentials/ui/components))
- [Declarative UI Macros](https://awesome-repositories.com/f/user-interface-experience/declarative-ui-macros.md) — Transforms XML-like syntax into efficient code for high-performance rendering. ([source](https://dioxuslabs.com/learn/0.7/essentials/ui/rsx))
- [Reactive State Management Libraries](https://awesome-repositories.com/f/user-interface-experience/reactive-state-management-libraries.md) — Uses a signal-based reactivity model that automatically tracks data dependencies to trigger granular interface updates.
- [Reactive UI Frameworks](https://awesome-repositories.com/f/user-interface-experience/reactive-ui-frameworks.md) — Creates dynamic user interfaces that automatically update in response to state changes.
- [Component Composition Patterns](https://awesome-repositories.com/f/user-interface-experience/component-composition-patterns.md) — Enables flexible interface structures by injecting nested elements into parent layouts. ([source](https://dioxuslabs.com/learn/0.7/essentials/ui/components))
- [Cross-Platform Abstraction Layers](https://awesome-repositories.com/f/user-interface-experience/cross-platform-abstraction-layers.md) — Maps a unified component model to native desktop, mobile, and web rendering targets.
- [Declarative Component Libraries](https://awesome-repositories.com/f/user-interface-experience/declarative-component-libraries.md) — Uses macro-powered syntax to define reusable interface elements and nested layouts with unidirectional data flow.
- [Hooks](https://awesome-repositories.com/f/user-interface-experience/hooks.md) — Initializes and retrieves persistent values that remain stable across re-renders. ([source](https://dioxuslabs.com/learn/0.7/essentials/basics/hooks))
- [HTML Element Bindings](https://awesome-repositories.com/f/user-interface-experience/html-element-bindings.md) — Defines interface elements using inline attributes and supports standard web tags. ([source](https://dioxuslabs.com/learn/0.7/essentials/ui/elements))
- [Conditional Rendering Logic](https://awesome-repositories.com/f/user-interface-experience/conditional-rendering-logic.md) — Displays conditional interface blocks directly within markup using inline logic. ([source](https://dioxuslabs.com/learn/0.7/essentials/ui/conditional))
- [List Rendering Utilities](https://awesome-repositories.com/f/user-interface-experience/list-rendering-utilities.md) — Displays dynamic lists of elements using iterator mapping or specialized loop syntax. ([source](https://dioxuslabs.com/learn/0.7/essentials/ui/iteration))
- [Macro-Based UI Compilers](https://awesome-repositories.com/f/user-interface-experience/macro-based-ui-compilers.md) — Transforms XML-like syntax into efficient tree-building code at compile time to minimize runtime overhead.
- [Dependency Injection](https://awesome-repositories.com/f/user-interface-experience/dependency-injection.md) — Shares data across a component tree by providing values at a parent level. ([source](https://dioxuslabs.com/learn/0.7/essentials/basics/context))
- [Layout Systems](https://awesome-repositories.com/f/user-interface-experience/layout-systems.md) — Arranges interface elements using standard CSS layout systems like Flexbox and Grid. ([source](https://dioxuslabs.com/learn/0.7/essentials/ui/styling))
- [Reactive Contexts](https://awesome-repositories.com/f/user-interface-experience/reactive-contexts.md) — Bundles signals into context structures to enable descendant components to read and update shared state. ([source](https://dioxuslabs.com/learn/0.7/essentials/basics/context))
- [Update Batching](https://awesome-repositories.com/f/user-interface-experience/update-batching.md) — Optimizes interface performance by grouping multiple state updates into single render cycles. ([source](https://dioxuslabs.com/learn/0.7/essentials/basics/signals))
- [Event Handling](https://awesome-repositories.com/f/user-interface-experience/event-handling.md) — Manages state updates by passing event handlers to child components. ([source](https://dioxuslabs.com/learn/0.7/essentials/basics/hoisting))
- [Expression Rendering](https://awesome-repositories.com/f/user-interface-experience/expression-rendering.md) — Inserts arbitrary code expressions directly into interface markup to dynamically render content. ([source](https://dioxuslabs.com/learn/0.7/essentials/ui/conditional))
- [Interface State Derivations](https://awesome-repositories.com/f/user-interface-experience/interface-state-derivations.md) — Computes interface values dynamically from source state during rendering to maintain unidirectional data flow. ([source](https://dioxuslabs.com/learn/0.7/essentials/basics/reactivity))
- [Property Spreading Utilities](https://awesome-repositories.com/f/user-interface-experience/property-spreading-utilities.md) — Enables flexible data injection and field overrides using spread syntax within component calls. ([source](https://dioxuslabs.com/learn/0.7/essentials/ui/components))
- [State Hoisting](https://awesome-repositories.com/f/user-interface-experience/state-hoisting.md) — Shares state between components by passing reactive signals or memos down the component tree. ([source](https://dioxuslabs.com/learn/0.7/essentials/basics/hoisting))
- [Virtual DOM Reconciliation](https://awesome-repositories.com/f/user-interface-experience/virtual-dom-reconciliation.md) — Compares current and previous UI trees to calculate minimal patches for efficient updates.

### Web Development

- [Server-Side Rendering](https://awesome-repositories.com/f/web-development/server-side-rendering.md) — Generates initial application state as static HTML on the server to improve load times. ([source](https://dioxuslabs.com/learn/0.7/essentials/fullstack/))
- [Client-Side Hydration](https://awesome-repositories.com/f/web-development/client-side-hydration.md) — Attaches event listeners to server-rendered HTML to make the page interactive. ([source](https://dioxuslabs.com/learn/0.7/essentials/fullstack/ssr))
- [Cross-Platform Development Frameworks](https://awesome-repositories.com/f/web-development/cross-platform-development-frameworks.md) — Builds native desktop, mobile, and web applications from a single codebase with shared business logic.
- [Full-Stack Web Frameworks](https://awesome-repositories.com/f/web-development/full-stack-web-frameworks.md) — Builds integrated web applications with seamless communication between server-side logic and client-side interactive components.
- [Reactivity Primitives](https://awesome-repositories.com/f/web-development/reactivity-primitives.md) — Converts non-reactive raw values into tracked dependencies to enable reactivity. ([source](https://dioxuslabs.com/learn/0.7/essentials/basics/effects))
- [Remote Procedure Calls](https://awesome-repositories.com/f/web-development/remote-procedure-calls.md) — Defines functions that execute exclusively on the server with automatic argument serialization. ([source](https://dioxuslabs.com/learn/0.7/essentials/fullstack/))
- [Change Observers](https://awesome-repositories.com/f/web-development/change-observers.md) — Monitors reactive values automatically to trigger side-effects or re-renders. ([source](https://dioxuslabs.com/learn/0.7/essentials/basics/reactivity))
- [Full-Stack Web Runtimes](https://awesome-repositories.com/f/web-development/full-stack-web-runtimes.md) — Handles data fetching, HTML streaming, and hydration for high-performance web applications.
- [HTML Streaming](https://awesome-repositories.com/f/web-development/html-streaming.md) — Streams HTML content to the client in chunks for faster initial page loads. ([source](https://dioxuslabs.com/learn/0.7/essentials/fullstack/streaming))
- [Effect Handlers](https://awesome-repositories.com/f/web-development/effect-handlers.md) — Executes logic automatically whenever tracked values read within an effect closure change. ([source](https://dioxuslabs.com/learn/0.7/essentials/basics/effects))
- [Hydration State Management](https://awesome-repositories.com/f/web-development/hydration-state-management.md) — Ensures component state remains deterministic across environments through serialization and caching. ([source](https://dioxuslabs.com/learn/0.7/essentials/fullstack/ssr))
- [Memoized Derivations](https://awesome-repositories.com/f/web-development/memoized-derivations.md) — Calculates derived values from tracked inputs using memoized hooks that update only on dependency changes. ([source](https://dioxuslabs.com/learn/0.7/essentials/basics/effects))
- [Nested Routing](https://awesome-repositories.com/f/web-development/nested-routing.md) — Organizes complex application structures by nesting route paths and grouping related views. ([source](https://dioxuslabs.com/learn/0.7/essentials/router/routes))
- [Server-Side Endpoints](https://awesome-repositories.com/f/web-development/server-side-endpoints.md) — Creates server-side HTTP endpoints using procedural macros on asynchronous functions. ([source](https://dioxuslabs.com/learn/0.7/essentials/fullstack/server_functions))
- [Server-Side Rendering Engines](https://awesome-repositories.com/f/web-development/server-side-rendering-engines.md) — Generates initial HTML on the server to improve search engine visibility and provide faster page loads.
- [Hydration Mechanisms](https://awesome-repositories.com/f/web-development/hydration-mechanisms.md) — Serializes initial application state into static HTML and re-attaches reactive event listeners on the client.
- [Layout Composition](https://awesome-repositories.com/f/web-development/layout-composition.md) — Supports building nested layouts that update content based on route parameters. ([source](https://dioxuslabs.com/learn/0.7/essentials/router/layouts))
- [Route Pattern Mappers](https://awesome-repositories.com/f/web-development/route-pattern-mappers.md) — Maps URL patterns to specific components using derived structures supporting dynamic parameters. ([source](https://dioxuslabs.com/learn/0.7/essentials/router/))
- [Static Generation](https://awesome-repositories.com/f/web-development/static-generation.md) — Generates static files in a designated directory to store pre-rendered pages. ([source](https://dioxuslabs.com/learn/0.7/essentials/fullstack/static_site_generation))
- [Programmatic Navigation](https://awesome-repositories.com/f/web-development/programmatic-navigation.md) — Triggers navigation by pushing or replacing history entries using a dedicated navigator. ([source](https://dioxuslabs.com/learn/0.7/essentials/router/navigation))
- [Route Parameter Parsers](https://awesome-repositories.com/f/web-development/route-parameter-parsers.md) — Extracts dynamic URL segments into custom types by validating and mapping parameters. ([source](https://dioxuslabs.com/learn/0.7/essentials/router/routes))
- [Server Data Streaming](https://awesome-repositories.com/f/web-development/server-data-streaming.md) — Manages real-time communication using WebSockets and HTTP streams with reactive hooks. ([source](https://dioxuslabs.com/learn/0.7/essentials/fullstack/))

### Development Tools & Productivity

- [Hot Reloading](https://awesome-repositories.com/f/development-tools-productivity/hot-reloading.md) — Updates application code at runtime without manual rebuilds by patching functions directly. ([source](https://dioxuslabs.com/learn/0.7/essentials/fullstack/))
- [Hot-Reloading Workflows](https://awesome-repositories.com/f/development-tools-productivity/hot-reloading-workflows.md) — Iterates on application code and interface designs with instant updates in the running environment.

### Software Engineering & Architecture

- [Data Flow Patterns](https://awesome-repositories.com/f/software-engineering-architecture/data-flow-patterns.md) — Shares data and state-modifying functions across the component tree as properties. ([source](https://dioxuslabs.com/learn/0.7/essentials/basics/reactivity))
- [Asynchronous Effect Handlers](https://awesome-repositories.com/f/software-engineering-architecture/asynchronous-effect-handlers.md) — Integrates asynchronous tasks directly into the reactive lifecycle for efficient side-effect management.
- [Asynchronous State Derivation](https://awesome-repositories.com/f/software-engineering-architecture/asynchronous-state-derivation.md) — Runs asynchronous logic that automatically restarts whenever any tracked signals read within the closure are updated. ([source](https://dioxuslabs.com/learn/0.7/essentials/basics/resources))

### Networking & Communication

- [WebSocket Managers](https://awesome-repositories.com/f/networking-communication/websocket-managers.md) — Manages bidirectional communication with reactive handles that track connection status. ([source](https://dioxuslabs.com/learn/0.7/essentials/fullstack/websockets))
- [Data Streaming](https://awesome-repositories.com/f/networking-communication/data-streaming.md) — Transfers text chunks between client and server using asynchronous generators for real-time updates. ([source](https://dioxuslabs.com/learn/0.7/essentials/fullstack/streams))

### Operating Systems & Systems Programming

- [Native Desktop Integration Tools](https://awesome-repositories.com/f/operating-systems-systems-programming/native-desktop-integration-tools.md) — Manages system windows, hardware access, and binary distribution to create standalone desktop applications.

### DevOps & Infrastructure

- [Static Site Generators](https://awesome-repositories.com/f/devops-infrastructure/static-site-generators.md) — Packages the application into a static folder containing all necessary assets for deployment. ([source](https://dioxuslabs.com/learn/0.7/essentials/fullstack/static_site_generation))
