I always see new GTK apps popup on Flathub. I dont really care and think GTK looks fancy, although CSD suck a bit and they waste space and often functionality.

But they work, are solid, and do what they should.

Qt on the other hand may seem more like a complex job to code with. I dont actually think so, but I heard especially writing rust with GTK is way better than with Qt.

I like KDE a lot, and even though I am excited for Cosmic I think Qt is the better toolkit for many things and a lot of time. But Dolphin seems to suffer from memory safety issues all the time, as well as other projects.

Do you have experience in rust, using GTK or Qt? How do they compare?

  • Gtk has had better rust bindings than Qt for a while. With modern tools (cxx interop stuff) Qt is actually quite usable. I believe Gyroflow uses Qt and Rust, for example.

    Early wrappers for Qt tried to make Qt’s object ownership model fit with Rust, which led to a situation where every Qt call was unsafe. That’s not a very friendly way to write Rust, and kind of takes away the reason most people use Rust over C++ in the first place.

    I expect more KDE devs to start using Rust in the future now that Qt bindings seem to be a solved problem, but like with other frameworks, it may take a couple of years for anything noteworthy to show up.

    Don’t expect Dolphin to get rewritten in Rust soon, though. It uses a lot of C++ tricks to get plugins and such dynamically loaded and I don’t think Rust can accomplish that level of C++ interop quite yet. Where Gnome’s file browser is calling out to a lot of different daemons and subprocesses (which is slower but harder to crash on), KDE prefers performance over potential stability issues. Both are valid approaches, but I think Gnome’s approach makes it easier to port projects to other languages.