Rust GUI frameworks
2025 Framework 2026: Early beta, tiny download base
29

Blitz and Dioxus Native

A browser-less HTML/CSS renderer for native Dioxus.

Blitz is an HTML and CSS rendering engine that does not embed a browser. It parses markup, resolves real CSS, lays it out and paints it, with modular parts: CSS comes from stylo (Servo and Firefox's style engine), layout from taffy, text from parley, accessibility from accesskit, and painting goes through an anyrender abstraction backed by Vello (GPU) or vello_cpu. Dioxus Native plugs Dioxus components into that engine.

dioxus-native-app/src/bin/one.rs ✔ compiled · dioxus 0.7, dioxus-native 0.7 · rustc 1.95.0
use dioxus::prelude::*;

// Identical component code to the desktop/web Dioxus examples: only the
// launcher changes. No webview is involved; Blitz lays out and paints the DOM.
fn main() {
    dioxus_native::launch(app);
}

fn app() -> Element {
    let mut count = use_signal(|| 0);
    rsx! {
        div { style: "padding: 24px; font-family: sans-serif;",
            h1 { "Native Dioxus" }
            button { onclick: move |_| count += 1, "clicked {count} times" }
        }
    }
}

The component code is identical to desktop Dioxus. Only the launcher changes, from a webview to a native renderer. There is no JavaScript engine here: Blitz renders HTML and CSS, but it is not a web browser.

dioxus-native-app/src/bin/two.rs ✔ compiled · dioxus 0.7, dioxus-native 0.7 · rustc 1.95.0
use dioxus::prelude::*;

fn main() {
    dioxus_native::launch(app);
}

// Blitz resolves real CSS (via Stylo, the engine from Firefox), lays it out with
// Taffy, shapes text with Parley and paints with a Vello-family renderer.
fn app() -> Element {
    rsx! {
        div {
            style: "display: flex; gap: 12px; padding: 20px;",
            div { style: "flex: 1; background: #e5484d; height: 80px; border-radius: 8px;" }
            div { style: "flex: 2; background: #30a46c; height: 80px; border-radius: 8px;" }
        }
    }
}

Its lockfile shows the bill of materials: stylo, vello and vello_cpu, parley, accesskit, winit, and two versions of wgpu at once (0.19.4 and 26.0.1). Blitz is at 0.3.0-beta.2 (blitz-dom has 23 dependents) and dioxus-native has 4. The September 2026 Cognition announcement says investment in Dioxus Native and Blitz will increase, which is the project to watch.

crates.io first publish.