

GTK+ 3.0.0 released - junkbit
http://mail.gnome.org/archives/gtk-devel-list/2011-February/msg00020.html

======
kjksf
I think GTK+ shows how an open-source community can paint itself into a corner
by becoming "too big to fail".

Gtk+ 1.0 was released in in 1998. Here's a list of vastly superior UI toolkits
that were developed from scratch before Gtk+ 3.0 release:

* Microsoft's WPF (first release in 2006) * Android's Java-based UI framework * Palm's webOS UI framework * Cocoa in Mac OS X (first release in 2001 - and before you nitpick, I know it was based on earlier tech from NeXT) * iPhone UI (granted, based on Mac OS X UI but a lot of it was new)

The technology behind Gtk+ (C, even when written in a disciplined, object-
oriented fashion) makes it painful to program against. It was fine when the
alternative was Win32 but the above mentioned toolkits use higher-level
languages (java, c#, javascript, objective-c) making them not only easier to
program against but also easier to improve the toolkits themselves.

I don't follow Gnome development but my outsider perspective is that Gtk+ is a
huge technical debt and there are no signs that the community is planning to
ditch it for something that can go head-to-head with those other technologies
(mono is the only initiative trying to move the state of the art of
implementation technologies on unix but it doesn't have UI component (other
than silverlight implementation, which is WPF-lite)).

~~~
nyellin
I would not call Gtk+ a "huge technical debt", but there is some truth in what
you say.

Gtk+ development has been badly under-sponsored by the companies that sponsor
GNOME development. In recent years, Cairo and then Clutter were the hot new
toolkits that many people used to supplement Gtk. (Clutter provides a 2.5D
canvas that can be used in Gtk+ applications and Cairo is used by Gtk+ to draw
widgets.)

Qt, on the other hand, is backed by Nokia and has been undergoing constant
development. The difference is noticeable.

There was a time when people spoke excitedly about creating new GNOME
applications using Clutter, because Gtk+ itself didn't support what they
wanted to do. Clutter was (and still is) blessed by GNOME. Among other
programs, many GNOME games have been rewritten to use Clutter with a small
Gtk+ wrapper.

I am no longer involved in GNOME, so I can't say for sure how people feel
right now. I would guess that the attitude is what it has always has been:
Gtk+ might not be amazing, but it is good enough for what we need. Use Clutter
if you need a canvas. It would be insane to switch to another toolkit, as that
would kill the GNOME project.

Edit: I want to add a few points I forgot to mention:

1\. Gtk+ 3.0's support for CSS theming will level the playing field with other
toolkits, and especially with Qt. This is the most exciting addition to Gtk+
3.0. To be honest, it is long due.

2\. Qt is my personal choice for a cross platform toolkit in high-level
languages. Qt Designer, QLayouts, and Qt's language bindings are very good,
and have all been present for years. Gtk+ has good language bindings, but it
is lacking in all of the other areas. Furthermore, Qt's last few releases
bring many new features that Gtk+ is missing and wont implement soon.

3\. Despite my preference for Qt, I still use Gtk+ for small small C programs
because Qt is written in C++. Gtk+ isn't as fun as Qt, but being forced to use
C++ is plain out painful.

~~~
seltzered
"Gtk+ isn't as fun as Qt, but being forced to use C++ is plain out painful."

just curious, have you considered qt jambi (now open source) or qt4dotnet?

~~~
nyellin
Yes, I used QtJambi for a large project in the past. (I was including Java
when I said that I prefer Qt for high-level languages.)

QtJambi is great, but I do not know if I would use it for a new project. Since
Qt 4.5, QtJambi is no longer supported by Nokia.

Source: [http://qt.nokia.com/about/news/preview-of-final-qt-jambi-
rel...](http://qt.nokia.com/about/news/preview-of-final-qt-jambi-release-
available/)

------
ecoffey
GTK+ was my first foray into GUI programming when I was a kid, and I still
think it's pretty slick. I really liked the concept of boxes and nesting
stuff, and how it would figure out how to lay it out. And that it could all be
done in code and be understandable! Not some wonky OLE2 / Swing "Form
Designer" that I was doomed to never understand.

~~~
randrews
Actually Swing works pretty much the same way, which is why I liked it. What I
couldn't stand was stuff like Qt, which wants to generate / pre-process a lot
of code.

I've decided my rule is, I want to either do everything in code (like GTK) or
nothing in code (like Cocoa), but none of this "here's a utility that
generates code for you" like Windows Forms.

~~~
jdub
You can go down the "nothing in code" route with GTK+ as well, using Glade to
generate UI description files. :-)

------
zokier
Seems like the changes are more behind the scenes -stuff, rather than
developer or user visible stuff. While GTK is not my toolkit of choice, grats
for evolving and getting a major version out.

------
windsurfer
Multiple pointer support is huge. It now means GTK+ can be used on mobile
applications and support gestures.

CSS themeing means themes can be created by designers more readily. This
should mean more and better themes in the future.

------
malkia
I've tried compiling it for Windows (using msvc, instead of mingw), but
failed.

Anyone knowns precompiled binaries for windows (even mingw should be fine,
they link to KERNEL32.lib, and are binary compatible with MS).

~~~
endgame
Looks like the gtk.org all-in-one bundle hasn't yet been updated. If you're
feeling bold, you could try and get a build going with MinGW+MSYS.

------
tobylane
Does this have anything to do with Ubuntu release schedules? It's either two
months after this, or after X.org which came out on 20th Dec.

~~~
windsurfer
Ubuntu's releases are a month after Gnome, which is a month after X.org. GTK+
is related to Gnome, but does not follow Gnome's release schedule.

