DEV Community

Maria B. Ryan
Maria B. Ryan

Posted on

What if your Rust application could run natively on desktop and in the browser without Electron.

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 (7)

Collapse
 
aremu_feranmifreddiesc profile image
Aremu Feranmi •

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.

Collapse
 
maria_bryan_88081208cbd profile image
Maria B. Ryan •

Thanks

Collapse
 
adebisi_oluwajoba_6ba5603 profile image
Adebisi Oluwajoba •

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.

Collapse
 
junior_jimmy_1a2c8dcb1eb1 profile image
Junior Jimmy •

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.

Collapse
 
marcus_aurelius_691085937 profile image
Marcus Aurelius •

This is genuinely impressive. The idea of building a Rust UI framework that targets both the browser and native desktop without relying on Electron or WebView is a very interesting direction.

The shared architecture, WebAssembly support, native targets, and strong focus on accessibility make this more than just an experimental UI concept. I’d definitely recommend my Rust and cross-platform development colleagues take a look at FUI-RS and explore what’s possible with it.

Looking forward to seeing how the framework and ecosystem evolve toward 1.0.

Some comments may only be visible to logged-in visitors. Sign in to view all comments.