topics that matter; ideas worth sharing

share a tip, submit a link, add something new

GTK+ matures

March 29, 2001, 04:55 PM —  Unix Insider — 


GTK+ is an acronym for the GNU image manipulation project (GIMP) toolkit. Spencer Kimball and Peter Mattis began work on GIMP in the summer of 1995. The first versions of GIMP relied on Motif, which was the dominant commercial standard for Unix GUI development over the last decade, as we explained in an earlier report in this series on GUI toolkits.


However, Kimball and Mattis wanted GIMP to be entirely free, and Motif's license was quite restrictive at the time. They decided to recraft GIMP as a free, general-purpose GUI toolkit, the first version of which they released as GTK in July 1996.


So one of GTK+'s distinctions has always been its license. It's a solid member of the GNU project, available under the GNU Lesser General Public License (LGPL). This may be the feature that developers mention most often when explaining their choice of GTK+. Many programmers now actively seek out licenses such as LGPL, instead of Motif or other toolkits.


The force of the license argument has diminished since GTK+'s birth. Qt's license has been liberalized, and Motif's source code is now available in some situations. There are even a few situations -- mostly concerning Linux-based embedded systems -- where the GTK+ license is inconvenient for proprietary-software developers. It is more common, though, for an organization to prefer Motif or Qt because of their restrictive commercial licenses.



GTK+ speaks in many tongues

One of GTK+'s primary features is good support of different languages. While GTK+ and Qt share many technical characteristics, Qt is coded in C++, and well-maintained bindings are only available for C++ and Python. By contrast, "GTK+ is written in C, and has from the very beginning targeted bindings to other languages," said Owen Taylor, current co-maintainer of GTK+. Taylor is employed by Red Hat Advanced Development Labs.


Many programmers, especially those coming from Motif or Windows GUI environments, simply want to work in C, making GTK+ a natural choice. For those who prefer other languages, Taylor explains the situation:

Maintaining a GTK+ binding is not a completely trivial task. GTK+'s design makes it really easy to get a simple language binding up and running that covers 90 percent of everything that a programmer wants to do, but to get really thorough coverage of all 1,400 or so entry points to GTK+ takes a fair bit of effort, especially if you want to get a binding that really fits the language well.


Of the 20 or so language bindings out there for GTK+, perhaps half a dozen are really complete and heavily tested; in particular gtk (C++ binding), the Ada bindings, and the Perl and Python bindings come to mind.


... Even the less complete bindings can still be valuable. We're seeing quite a few people looking at using GTK+ with teaching languages as a way of introducing user interfaces. Before GTK+ became common, the standard way of doing this was either to write your own (usually primitive) toolkit, or write wrappers

I like it!
Post a comment
The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.
Resources
White Paper

Symantec Backup Exec 12 and Backup Exec System Recovery 8 deliver industry leading Windows data protection and system recovery. Download this whitepaper to find out the top reasons to upgrade and how to get continuous data protection and complete system recovery.

Webcast

Data and system loss — from a hard drive failure, malicious attack, natural disaster, or simple human error — can happen anytime. Don’t leave your business vulnerable. Make sure you have a secure recovery strategy in place. Symantec's latest backup and system recovery technology can efficiently restore critical applications, individual emails and documents and even restore your entire system in minutes in the event of a loss.

White Paper

Businesses face a growing challenge to ensure that the IT environment is properly protected. Backup Exec 12 integrates with other applications in the Symantec family of products, to complement your current data protection strategy, keep your data securely backed up and make it recoverable when you need it most.

Free stuff
Featured Sponsor

AISO founders envisioned a Web hosting company that was environmentally friendly. While the company employed energy-efficient innovations like solar panels, its infrastructure produced unacceptable power and cooling requirements. Find out how AISO leveraged AMD technology to overcome their challenge in this case study white paper.

In this whitepaper, Scalar explores the opportunity to change the landscape with respect to mission critical databases built around Oracle. Leveraging technologies such as Linux, high-end commodity processing power and Oracle RAC technology to architect, design, build and maintain database infrastructure that delivers maximum availability, reliability and performance at a fraction of traditional cost.

On a typical day, weather.com, the Web site for The Weather Channel in Atlanta, serves up between 15 million and 20 million page views. But in September 2004, when back-to-back hurricanes ransacked Florida, the peak traffic on one day more than tripled: over 70 million page views by more than 7 million unique visitors. Read the full success story now.

More Resources