When it comes to writing user applications for Linux, GTK seems like it should be the obvious choice. In general it’s written in C, and has binding for a lot of languages. And it’s generally a first class citizen in the Linux desktop environment ecosystem as it’s been used to write desktops and applications in Linux. And on top of that it’s getting support for Wayland.
So the next difference is to how to actually get started with GTK. And it seems kind of weird that even though a lot of the more well known applications are written in GTK, there doesn’t seem to be too many resources for how to get started with GTK.
Getting Started with GTK:
https://developer.gnome.org/gtk3/stable/gtk-getting-started.html
Platform Demos (small example applications)
https://developer.gnome.org/gnome-devel-demos/stable/c.html.en
GTK 2 Examples
http://zetcode.com/gui/gtk2/
API Documentaion:
https://developer.gnome.org/gtk3/stable/index.html
The interesting is that while these are available from https://developer.gnome.org, I don’t think if I ever actually found these by looking through their web page.
The Gnome Git repo is located on : https://gitlab.gnome.org/
Looks like anyone can join and start making private repositories.
I have been playing around with Vala to create GTK application. It’s a nice language but it’s really hard to find good documentation online. valadoc.org have been a great help. You should into it for GTK development.