Current state of GUI development in Rust?


#123

Rust with gtk-rs, along with gstreamer-rs are working fine for me writing Linux GTK+/GStreamer desktop applications. D with GtkD is also very good though, and in some ways better, on some ways not so good.


#124

I really find I need a GUI library for my purposes, and I have been watching every thread about ui development in RUST with great anticipation.

I have tinkered with gtk-rs, writing a custom browser which interfaces with a restful backend for an asset management prototype. I definitely feel that it worked pretty well. Most of my problems had to do with issues with gtk: Lack of documentation for gtk3 for doing more advanced things, missing functionality with table views, really weird limitations with tree views, etc…

I think that the authors are doing a very good job, and it is the most mature of the frameworks that i have played with, although, I have encountered some performance issues with resizing windows.

I have also played with Azul, and I enjoyed the api, but it had definite issues with laying out components, non-unform scaling, etc.

I really like the feel of Cursive (tui), which relies on channels to handle events. But, its a tui not a GUI.

I also liked Conrod, although I was a bit confused by the lack of a fully abstracted back end, as well as very limited default primitives ( no shadows, single border color, no ramps, etc. It seems like it would be a lot of work to customize the widgets to make them look professional). It appears to be written with a very particular ui style in mind, as evidenced by the main author’s ui work. Not really styled for the desktop.

I ultimately miss Qt widgets though. A lot of effort has gone into Qt and many graphics intensive applications are written using it (maya, houdini, nuke, katana,etc.)


#125

What problems did you have with Azul specifically? Layout is still a bit problematic in regards to layouting text, otherwise it should technically work. What do you mean by “non-uniform scaling” - do you mean the HiDPI factor?


#126

@sharazam
at least on os x, most of the examples flash red before drawing - the more complex the example, the longer it stays red.
when scaling a window the examples (the table example) would squash or stretch (thats what i meant by non-uniform scaling) and only redraw widgets with correct aspect ratios on mouse up. Stuff like that.


Desktop GUI - What should I use?
#127

flutter-rs might be another choice. But the UI code would be mainly written in Dart, while Rust can take the work that concerns performance, or invoking native libraries.


#128

I like to write UI in plain C, currently on IUP Library. Yes i know, there is a rust binding, but this is not up to date and i like up to date libs. The same i tried with wxWidgets and c++ but…yes…its c++…so i will take plain c. Based on personal reasons i don’t like web based ui.

I tried gtk but currently i am working on windows and was not able to build all the requirements by myself, but i like to build all by myself, too. :slight_smile:

Maybe someone did the same or can point some alternatives? I like small binaries with a low level memory footprint in process,