From hafley
Dioxus native rendering backends -- Blitz (Stylo+Taffy+Vello), Freya (tiny-skia), WebView (Wry). Architecture, status, maturity, comparison. Trigger on dioxus native, dioxus blitz, dioxus freya, dioxus skia, dioxus desktop rendering, dioxus wry, dioxus vello, dioxus-native.
How this skill is triggered — by the user, by Claude, or both
Slash command
/hafley:dioxus-native-renderersThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
The three rendering paths for Dioxus desktop/native apps: WebView (Wry), Blitz (dioxus-native), and Freya. Current status as of early 2026.
The three rendering paths for Dioxus desktop/native apps: WebView (Wry), Blitz (dioxus-native), and Freya. Current status as of early 2026.
Uses the OS webview (WebKit on macOS/Linux, WebView2 on Windows) via Wry/Tao (same stack as Tauri).
eval for reaching into the webviewWhen to pick: need stability today, need full CSS/JS, acceptable browser runtime overhead.
Shipped as dioxus-native in Dioxus 0.7. Pre-alpha quality. "Do not recommend building production applications with it."
Repository: github.com/DioxusLabs/blitz (1,231+ workflow runs, active development)
| Layer | Library | Purpose |
|---|---|---|
| CSS parsing + resolution | Stylo (Firefox/Servo) | Full CSS engine, battle-tested |
| Box layout | Taffy | Flexbox + Grid |
| Text layout | Parley | Text shaping and layout |
| GPU rendering | Vello (via wgpu) | GPU compute renderer (Linebender) |
| HTML parsing | html5ever | Standard HTML parser |
| Windowing | Winit | Cross-platform windows |
| Accessibility | AccessKit | Native a11y integration |
blitz-dom -- core DOM with style resolution, layout, event handlingblitz-html -- HTML/XHTML parsingblitz-paint -- DOM to drawing commandsblitz-renderer-vello -- concrete Vello+wgpu rendererblitz-shell -- window/rendering integrationblitz-net -- resource fetchingdioxus-native -- wraps everything for Dioxus VirtualDOM<form> support~12MB
dioxus-native, alphaRepository: github.com/marc2332/freya -- 2.6k stars, 103 forks
rsx!(), own component modelUses tiny-skia (not full Skia):
RUSTFLAGS="-Ctarget-cpu=haswell" for AVX on x86Own element set (not HTML):
rect (container, analogous to div), label (text)| Freya | Blitz/dioxus-native | WebView (Wry) | |
|---|---|---|---|
| Status | v0.3 stable, v0.4 rewrite | Alpha (Dioxus 0.7) | Production-ready |
| Rendering | CPU (tiny-skia) | GPU (Vello/wgpu) | System webview |
| Backing | Solo maintainer | DioxusLabs org | Tauri team |
| CSS support | N/A (own elements) | Partial (Stylo, growing) | Full |
| Component lib | ~15 built-in | HTML elements + CSS | Entire web ecosystem |
| Accessibility | Limited | AccessKit | Native webview a11y |
| Ecosystem | None beyond built-in | Early | Massive |
| Binary size | Small (~200KB added) | ~12MB | Depends on platform webview |
Freya: non-HTML component model, constrained hardware, small dependency tree, willing to track single maintainer. Note: no longer Dioxus-compatible as of v0.4.
Blitz/dioxus-native: HTML/CSS knowledge, want official Dioxus path, need GPU rendering, need accessibility, want web+native from same codebase. Accept alpha-quality crashes.
WebView (Wry): production stability today, full CSS/JS, massive web ecosystem, acceptable browser overhead.
npx claudepluginhub hafley66/claude-research --plugin hafleyGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.