I'm working on developing cross-platform free software libraries and applications, both for my paid job and for my own projects. They all build on Linux, FreeBSD, MacOS X and Windows and build using all of GCC, clang, mingw and MSVC. They are typically using C++(11) and Boost and other standard free software C and C++ libraries for the core functionality, and Qt for the UI where applicable. In other words, the free software I produce is available to about as wide an audience as I could hope for by deliberately making the software as portable as I can (with not all that much extra effort). I would have liked to have had the choice to use GTK+ here, but it's no longer a contender, lacking robust cross-platform support for MacOS and Windows, which is a shame. And it's increasingly unsuitable for non-GNOME Linux development too. And FreeBSD isn't exactly cared for either.
The question I'd like to pose is that, if GTK is not for serious cross-platform application development, what *is* it for? At a stroke, being Linux-only and GNOME-only eliminates a huge number of application developers. Probably most of them. And these are the people who will be pushing and testing the toolkit to the limits, and also hacking on it to improve it, add new widgets and fix bugs. Even if they aren't core maintainers. I was once one of these people for GTK+, but not since it became clear it wasn't being maintained well, and didn't have a future. And I take no pleasure in saying that--I invested significant time, both my own and company time, over the course of several years, in working on GTK+ applications and on GTK+/GLib including a lot of testing and bugfixing of its Cygwin and MinGW support across the whole set of GTK+ and base GNOME libraries (again: for cross-platform development back when we had hopes that GTK+ was good for such things). Ultimately, that was a wasted effort given where it's led to.
I don't think the Cocoa comparison is good for GTK+. It's a niche toolkit which you would use if you only want to target MacOS. True for some applications for sure, since MacOS has a large number of users, but not the majority. By restricting GTK+ to Linux/GNOME, you similarly limit the scope for its use and hence relegate it to a niche. And in the wider picture, GNOME on Linux is a very tiny niche. Very few application developers will wish to limit themselves in this way--the focus is on the application, not tying oneself to a barely significant desktop for little tangible benefit. GTK+ may well survive in this niche, but without any real incentive to use it, it's not likely to prosper.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds