Remix.run Logo
lazypenguin 2 hours ago

Your recent post resonated with me deeply, as someone heavily invested in the Rust GUI I've fallen into this same conundrum. I think ultimately the Rust GUI ecosystem is still not mature and as a consequence we have to make big concessions when picking a framework.

I also came to a similar endpoint when building out a fairy large GUI application using egui. While egui solves the "draw widgets" part of building out the application, inevitably I had to restructure my app entirely with a new architecture to make it maintainable. In many places the "immediate" nature of the GUI mutable editing the state was no longer an advantage. Not to mention that UI code I wrote 6 months ago became difficult to read, especially if there was advanced layout happening.

Ultimately I've boiled my choices down to:

- egui for practicality but you pay the price in architecture + styling

- iced for a nice architecture but you have to roll all your own widgets

- slint maybe one day once they make text rendering a higher priority but even then the architecture side is not solved for you either

- tauri/dioxus/electron if you're not a purist like me

- Rewind 20 years and use Qt/WPF/etc.

sorenjan an hour ago | parent [-]

If your main gripe about the Rust GUI ecosystem is that it's not mature then rewinding 20 years and using Qt/WPF/etc sounds like an excellent alternative. Old and mature versus modern and immature.