6 ms·
GTK+ 3.0.0 released
- zokier 16y agoSeems 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.
- ecoffey 16y agoGTK+ 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 16y agoActually 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.
- killedbydeath 16y agoTo me the Qt and Cocoa approaches look the same. Qt is built on top of C++ pretty much the same way Objective-C is built on top of C: there is some syntactic sugar to allow dynamic binding and you do not ever have to look at the intermediate results if you do not want to. You can hack into the details of the implementation if you prefer, and you can do it in both frameworks.
- andrewf 16y agoI think they really cleaned this up in the Qt3 -> Qt4 transition - your Qt Designer forms are still turned into code, but not in a generated file that you're supposed to edit. Instead it's a standalone class that you inherit in your own class. So uic and moc are still there, but they may as well be generating object code - you never have to read the C++ that they spit out.
- jdub 16y agoYou can go down the "nothing in code" route with GTK+ as well, using Glade to generate UI description files. :-)
- tobylane 16y agoDoes 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 16y agoUbuntu'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.
- windsurfer 16y agoMultiple 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 16y agoI'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 16y agoLooks 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.
- kjksf 16y agoI 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)).
- kinghajj 16y agoI believe Vala is the language that the Gnome/GTK devs want most programs to be written with in the future. Which is basically how Windows' GUI works: C core API (win32) for backwards-compatibility, with higher-level .NET bindings to them for newly written programs.
- whateverer 16y agoReally? There are quite a few Mono apps that use its GTK# bindings. Their inclusion in the default installs of many mainstream distros has been the cause of much contention with the anti-mono/Microsoft crowd.
- nyellin 16y agoI 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.