Which GUI crate should I choose to use?

I am trying to build a website showing many kinds of figures, which are highly interactive with user. For example, when someone hover, click or drag the figure, the server do some calulations and return information to the website.
I found there are many GUI crates disigned specifically to do this kine of job, such as egui, iced, tauri, etc. I am trying to figure out which one should I choose based on the following considerations:

  1. easy to use
  2. popular
  3. can run on website
  4. tools to make many kind of figures.

I personally like Gtk-rs.You could use the GLArea in Gtk to draw shapes.

But you want to run your Rust-application in a browser like a website? I guess you could maybe do that using WebAssembly but that is a bit far fetched for this use-case I think?

May I ask why you're not choosing HTML, CSS and Javascript for this case?


Thanks for your recommendation.
I used to work on kinds of data with using package like pytorch, xgboost etc, and totally new to frontend. Besides I found the frontend work is hard for me and I don't need to know frontend work that deeply. So I thought I shoud spend as less time on frontend programming as possible, and focus on building interactive plotting.

"easy" is individual specific. for example, if you are familiar with immediate mode ui, egui is easy. if you are familiar with the web stuff, tauri should be easy.

I think you really mean "well-supported" and "well-maintained". choose library based on popularity might not suit your use case.

I think other than libraries that are bindings to system APIs (like Qt, wxWidget, Win32, etc), most rust GUI libraries renders the UI elements themselves, since rust can be compiled to wasm, most of them are web capable. the ones you mentioned, egui, iced, tauri, as far as I know, all support web. some other examples including: dioxus, druid, slint

you may also check out web only libraries/frameworks like leptos, yew, etc.

I don't know about figures, but I had heard about plotly-rs, if you are targeting web, it might worth checking out.

1 Like

Plotters + Yew, maybe?

1 Like

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.