I feel like the best option at the moment is egui. It's native. Works on the web too. Very easy to get up and running. The things I don't like about it:
- I personally think the default style could do with improvement. Mainly it's way too cramped. There's a happy middle ground between no padding and bootstrap. I mean Win32/Qt/etc. got this basically right.
- Immediate mode. Yeah it's easier, especially with Rust, but ... it's surely not how it's supposed to work.
- The low level drawing API (like if you're making custom widgets) is surprisingly amateur. Not something I'd want to target if I'm spending a lot of time e.g. writing a custom map widget or git graph or something.
I also tried Slint. Like the author I think the license is pretty reasonable. But it is pretty involved to set up a project and since it compiles everything from source it can take a very long time for a clean build of hello world. It's like if you were using Qt but instead of a binary package the sources are just included in your app.
Also I have bad experiences from QML (Javascript 🤮, weird scoping rules, etc.) but hopefully they learnt from their experience.
Looking forward to the 2030 edition anyway!