
wxWidgets and Linux: a marriage made in heaven
Note: this article was written in 1998 and is looking
rather dated, but the basic message still applies.
wxWidgets and Linux have a lot in common. Both are free software projects based around
a band of volunteers, attracting enthusiasts from all over the world. Both
rely on the Internet for development and dissemination. Granted, Linux is a much
bigger show, boasting a 'leader' with an enviably high profile. But Linux and wxWidgets
are well-matched products; for some years wxWidgets has been distributed on SuSE Linux CD-ROMs
and is much used in the Linux world, for reasons of flexibility and maturity as well as simply
price.
The port of wxWidgets to Xt was another landmark for the Linux-wxWidgets alliance,
making it possible to write applications with the functionality of a Motif application
but with the advantage of not requiring a commercial GUI to be installed by the programmer
or user. The most recent and perhaps most significant development in wxWidgets/Linux cooperation
is wxGTK, a new port adhering to the wxWidgets 2 API, spearheaded by Robert
Roebling.
GTK+, or GIMP Toolkit, is a set of widgets build upon X initially used for
developing an image manipulation package called GIMP. It has been taken on by the GNOME Linux desktop
project, which aims to produce a set of desktop control panels and applets to rival
MS Windows. GNOME itself (and therefore GTK+) is supported by Red Hat Labs for whom
GNOME represents an opportunity to make the Red Hat Linux distribution a maturer and more user-friendly
product, while not requiring Red Hat to pay for all the effort.
With the increasing appeal of Linux in corporations (whether the IT bosses know and approve of
it or not), and the almost Road to Damascus conversion of several large corporations
to the free software ethos, user-supported software has never had it so good. For some
software there is the prospect of funding from interested commercial parties,
in addition to a change in the perception that free software is 'not supported' and therefore
to be avoided. New principles of software engineering are emerging from distributed
software projects, and being categorised.
The 'Cathedral and the Bazaar' paper, while being rather overblown and self-congratulatory for
this author's taste, was heralded by Netscape Corp. as the revelation that inspired
them to release the Navigator source code.
Time will tell whether wxWidgets will become the standard framework for implementing
GTK+ and GNOME applications, or even the standard for Linux GUI programming in general.
There are other frameworks around, such as Qt which finds favour among many
Linux afficianados, but Qt is only free on Linux, and is carefully controlled
by its owner, TrollTech. wxWidgets, on the other hand, is free for all supported platforms,
and is a more open project. It is currently the only cross-platform C++ tool to target
GTK+. It's easy to see the attraction of wxWidgets for developers wishing to develop on Linux, other Unix
platforms, and Windows; even on Linux alone, there may well be the need to provide
customers with separate Motif, GTK+ and even Xt executables. A developer no longer needs to make hard choices
about which envoronments to support, and which to ignore.
It's a good time for Linux, and it's
looking increasingly like a very good time to be a Linux/wxWidgets programmer.