DEV Community

Cover image for Which Rust crate to use as GUI framework right now (Jan 2021)?
Davide Del Papa
Davide Del Papa

Posted on

Which Rust crate to use as GUI framework right now (Jan 2021)?

[Photo by Harpal Singh on Unsplash, modified]

I am writing a post on the subject of Rust GUI, and sadly I am realizing that no much progress has been done in this area lately.

The site AreWeGUIYet seems almost abandoned to its own fate...

Thus I am polling you guys to know which Rust crate would you recommend to use in 2021 in order to give a Rust program a nice GUI?

Discussion (7)

Collapse
mardab profile image
Marcin Dąbrowski

It's not abandoned, I'm working on a major revision in my spare time, during which I realized too late how much work is needed before it could be of use to would-be GUI programmers and easier to maintain for us.

Collapse
davidedelpapa profile image
Davide Del Papa Author

Awesome! Feel free to reach out if you need some help. I actually wanted to do a copycat of my own to keep things alive, but if AWGY keeps updated it would be of much more use to the whole community. The sites are we...yet are kinda institution now in the Rust community

Collapse
mardab profile image
Marcin Dąbrowski • Edited on

Same, but before I did that, I made a patch, which later turned to a dedicated channel on rather bare development discord, once I'm happy with MVP of the new version I'll publish it, then feel invited to contribute.

Collapse
gauthamkrishna9991 profile image
Goutham Krishna • Edited on

As far as I've seen, only gtk-rs (for GTK 3/4) seems to be the most mature among these which I've seen to be used frequently, but that still calls C APIs using some custom introspection library or something, and still doesn't use pure "rusty" code for writing programs, thus also feels less rust-native when you write programs with it.

EDIT: vgtk sems to be a pretty cool project which does use a lot more declarative design compared to gtk-rs, I think I might check that out for myself.

Collapse
faraazahmad profile image
Syed Faraaz Ahmad

I've had this problem myself with Rust several times. It all stems from the issue that you need to create safe Rust bindings for each library you want to use or else there's no point in using Rust.

This is why I've been recently exploring the Zig programming language. You can simply include header files in it and use them directly. It's not 1.0 yet but it looks extremely promising and is stable enough for side projects. Some people have already created OS kernels and other graphics/GUI stuff with it.

I suggest you give it a shot.

Collapse
davidedelpapa profile image
Davide Del Papa Author

Thank you Syed. I will try Zig (I try a lot of different languages). But the point for me is to try and make GUI work in Rust... Maybe the answer is that there's no answer, and then we know there is something very important missing in Rust, who knows?

Collapse
alexmikhalev profile image
AlexMikhalev

Tauri.