Which library should I use for GUI developpement in Rust?

I use rust mainly for web applications but I am getting interested in Rust for other kinds of applications.
I want a GUI library that is Fast, really fast, multi-platform (Linux, Windows, macOS).
If this library is made in pure Rust, not a binding it is better.
I know Swing in Java and Seed-rs.

Thank's for your help! You're awesome!

Take a look at https://areweguiyet.com/. It list a lot of GUI libraries.


Unfortunately the Web "gui" on areweguiyet does not work.

Fails with "Uncaught TypeError: Vue.component is not a function
at main.js:5"

It works for me on Firefox. Did you block jsdelivr.com by any chance?

Thank's but there are a lot of choice and I don't know which one is the best in terms of performances, compatibility, usability.

Hmm... does not work in my Firefox either. Same error.

I live dangerously I don't block anything around here.

I suspect it is early days for GUI frameworks for Rust.

Seems one can use bindings to Qt or Gtk and the like but that seems horribly complex and fragile, requiring clunky dependencies and build systems etc. They have an impedance mismatch between Rust and the OOP world.

I'm hoping efforts like those of Raph Levien’s gain traction: https://raphlinus.github.io/personal/2018/05/08/ecs-ui.html

Rust really needs a solid GUI-Framework because I see this question popping up nearly every month :slight_smile:

I'm by far not an expert and don't use any of the following frameworks. But I'm also interested in it too.

I think it depends on how native you want to be and how quickly do you want to go in production. I think that JS/TS is still the best option for production. You could combine it with tauri (https://github.com/tauri-apps/tauri) instead of electron.

Seed-rs is interesting indeed. But iced (https://github.com/hecrj/iced) and druid (https://github.com/xi-editor/druid) as well. But the one that looks most promising to me is orbtk (https://github.com/redox-os/orbtk).

This topic was automatically closed 90 days after the last reply. We invite you to open a new topic if you have further questions or comments.