That's the premise behind FUI-RS: a cross-platform, retained-mode UI framework built in Rust that treats the browser as a first-class target rather than a compatibility layer bolted on afterward.
One application model, multiple real targets:
🌐 Web — compiled to WebAssembly
🖥️ Desktop — native apps on macOS, Windows & Linux
Under the hood, FUI-RS already brings together the pieces a real UI framework needs: controls, layouts, themes, events, dialogs, editable text, custom drawing, background workers, and host services — all built on a shared architecture so native and web don't diverge into two different codebases.
A few details worth noting for anyone evaluating it seriously:
✅ Accessibility is a first-class concern — DOM/ARIA on web, NSAccessibility on macOS, UI Automation on Windows, AT-SPI on Linux
✅ Tooling exists to scaffold and package projects (cargo-fui) rather than hand-rolling your build setup
✅ It's genuinely retained-mode — build your UI once, mutate it from events and callbacks, rather than re-rendering on every frame
It's still early access — APIs may shift before 1.0 — which means there's real room to experiment, file issues, contribute, and shape where the ecosystem goes. Worth noting too: there's already a community-built Galaga-style space shooter running entirely on FUI-RS, which is a solid real-world stress test for a young framework.
🔗 Explore the project: https://github.com/zion-sati/fui-rs
Rust developers — would you consider FUI-RS for your next cross-platform application? Curious what would need to be true for you to try it in production.
Top comments (5)
This is a really interesting approach to cross-platform development. Treating the browser as a first-class target while maintaining a shared Rust architecture for native desktop is especially compelling.
The retained-mode approach and accessibility support also make FUI-RS worth watching as it matures. I’m curious to see how the ecosystem and real-world adoption develop before 1.0.
Thanks
FUI-RS is an interesting approach, especially treating WebAssembly and native desktop as first-class targets instead of maintaining separate UI architectures.
The accessibility strategy and retained-mode model also make it more compelling than simply wrapping a native app for the browser. For me, the key test would be how well it handles production-scale applications, ecosystem maturity, performance, and API stability as it moves toward 1.0.
Definitely a project worth watching and contributing to while the architecture is still evolving.
a strong direction for Rust. Having the browser as a first-class target rather than treating it as an afterthought could make cross-platform development much cleaner.
The retained-mode architecture is particularly interesting, but I’d be curious to see how FUI-RS performs with larger applications and more complex accessibility requirements. If the API remains stable and the ecosystem grows, I can see this becoming a serious alternative for Rust developers who want native and WebAssembly targets from the same codebase.
Some comments may only be visible to logged-in visitors. Sign in to view all comments.