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.