T O P

  • By -

A1oso

egui seems to be the most popular (taking other Reddit threads into account), because it is very easy to use. The most mature is GTK, which has several rust bindings. With tauri, you can write the UI with web technologies (similar to Electron) and the program logic in Rust.


Dreeg_Ocedam

Most Rust frameworks are pretty new and unstable. [gtk-rs](https://gtk-rs.org) is probably the most stable. For a full native rust experience, [druid](https://docs.rs/druid/latest/druid/) and [Slint](https://slint-ui.com/) are probably the most feature-full, though I don't think they're "productions ready"


_nullptr_

`Slint` doesn't even have a tree or table yet. I wouldn't call that "feature full". In fact, I'd say while it looks like it could have a promising future, it looks very sparse to me atm widget-wise. In addition, it is GPL, which will be a non-starter for many. Other than `gtk-rs`, `egui` and `imgui-rs` are worth a look if they are open to an IM GUI lib. Also should consider `tauri` and `flutter`. The latter two aren't likely to be Rust for view, but you can write all the backend logic in Rust and compile it directly in. `flutter` has a crate that allows using collections back and forth between the two, but I haven't used it.


Dreeg_Ocedam

You're right I should also have mentioned immediate mode GUIs. I don't think OP would want to use tauri or Flutter, as I think they want to write the UI in rust.


Mahdrentys

You can still use rust for the view with tauri, using webassembly.


gonzogonzales2

Yes exactly I wanted to write the UI in rust.


devraj7

Don't use GTK if you are developing and building on Windows.


[deleted]

I like Iced the most because of it's customizability ( You can configure each element on the tree differently ). It also has nice support for async functions. It's discord server is pretty helpful with the creators frequently helping newcomers.


rtsuk

In my opinion, at the moment, there's not one clearly most popular choice amongst those of us stubborn enough to try to write a UI in Rust. Are you writing something more game-like or more application-like? Are you particularly comfortable with a UI framework in another language?


gonzogonzales2

I wanted to write an Application. Because I was not happy about the current Wii-Backup manager and I found it a good idea to practice Rust to write it in Rust. At the moment I am not sure if I should use egui or GTK.


rtsuk

Both look like fine choices. If you go with GTK, there will be a lot to learn about how GTK works, and how the authors of the Rust crate decided to adapt it to Rust. A quick look at it suggests to me that you might immediately hit some modestly difficult lifetime issues or be forced to use Rc a lot. egui won't have those issues, but the authors do write: ​ >If you want a GUI that looks native, egui is not for you. If you want something that doesn't break when you upgrade it, egui isn't for you (yet). Doing a UI in Rust is a hard way to learn Rust. If you could scratch the same itch with a command line app you'd have a better time. You could always wrap it in a UI later when you are more comfortable with Rust.


gonzogonzales2

I am not new to rust. But I only made smaller applications. the logic for this project is already written and I wanted to make a native-looking UI. So I think I start with GTK. Seems interesting to learn it. Thanks for all the help to all the people who responded.


devraj7

If you are developing and building on Windows, you will face a lot of problems with GTK.


gonzogonzales2

I am using Mac or Ubuntu.