Nav apraksta

Jonathan Kelley 2041c88d07 Feat: patch to diff to allow scopes 4 gadi atpakaļ
.vscode bf6a149c3b Chore: ignore settings 4 gadi atpakaļ
docs cc882932e1 Feat: shorten readme 4 gadi atpakaļ
examples 4dfdf91236 Feat: major overhaul to diffing, using a "diffing machine" now 4 gadi atpakaļ
notes e840f472fa WIP: moving to CbIdx as serializable event system 4 gadi atpakaļ
packages 2041c88d07 Feat: patch to diff to allow scopes 4 gadi atpakaļ
.gitignore 2b9c8d09d9 Feat: docs, code frm percy 4 gadi atpakaļ
Cargo.toml ea2aa4b0c9 Feat: event loop 4 gadi atpakaļ
LICENSE c4e8d8bb31 Feat: wire up a very basic dom updater 4 gadi atpakaļ
README.md e840f472fa WIP: moving to CbIdx as serializable event system 4 gadi atpakaļ

README.md

🌗🚀 Dioxus

A concurrent, functional, virtual DOM for Rust

About

Dioxus is a portable, performant, and ergonomic framework for building cross-platform user experiences in Rust.


static Example: FC<()> = |ctx| {
    let (value, set_value) = use_state(&ctx, || "...?");

    ctx.view(html! {
        <div>
            <h1> "Hello, {value}" </h1>
            <button onclick={move |_| set_value("world!")}> "?" </button>
            <button onclick={move |_| set_value("Dioxus 🎉")}> "?" </button>
        </div>
    })
};

Dioxus can be used to deliver webapps, desktop apps, static pages, liveview apps, Android apps, iOS Apps, and more. At its core, Dioxus is entirely renderer agnostic and has great documentation for creating new renderers for any platform.

Dioxus is supported by Dioxus Labs, a company providing end-to-end services for building, testing, deploying, and managing Dioxus apps on all supported platforms, designed especially for your next startup.

Get Started with...

Features

Dioxus' goal is to be the most advanced UI system for Rust, targeting isomorphism and hybrid approaches. Our goal is to eliminate context-switching for cross-platform development - both in UI patterns and programming language. Hooks and components should work everywhere without compromise.

Dioxus Core supports:

  • Hooks for component state
  • Concurrent rendering
  • Context subscriptions
  • State management integrations

Separately, we maintain a collection of high quality, cross-platform hooks and services in the dioxus-hooks repo:

  • dioxus-router: A hook-based router implementation for Dioxus web apps

We also maintain two state management options that integrate cleanly with Dioxus apps:

  • dioxus-reducer: ReduxJs-style global state management
  • dioxus-dataflow: RecoilJs-style global state management

Explore

Dioxus LiveHost

Dioxus LiveHost is a paid service dedicated to hosting your Dioxus Apps - whether they be server-rendered, wasm-only, or a liveview. LiveHost enables a wide set of features:

  • Versioned combined frontend and backend with unique access links
  • Builtin CI/CD for all supported Dioxus platforms (macOS, Windows, Android, iOS, server, WASM, etc)
  • Managed and pluggable storage database backends (PostgresSQL, Redis)
  • Serverless support for minimal latency
  • Analytics
  • Lighthouse optimization
  • On-premise support (see license terms)
  • Cloudfare/DDoS protection integrations
  • Web-based simulators for iOS, Android, Desktop
  • Team + company management

For small teams, LiveHost is free 🎉. Check out the pricing page to see if Dioxus LiveHost is good fit for your team.

WebApps Desktop Mobile State Management Docs Tools