wxWindows: Mature but little-known
Since last summer, our series on GUI toolkits has applauded Qt's polish, Tk's portability, Motif's rich third-party support, and GTK+'s ambition. wxWindows is a competitor that possesses all of those characteristics and more.
Free GUI framework
Is that news to you? Is this the first you've heard of wxWindows? It's certainly not a newcomer to the development marketplace. Julian Smart created wxWindows in 1992 while doing research with the Artificial Intelligence Applications Institute in Edinburgh, Scotland. wxWindows is a "free C++ framework to make cross-platform programming child's play (almost)," according to its official Website. Its cross-platform capabilities already extend to Mac OS, Unix, and Windows.
It's a bit unfair of us to present wxWindows exclusively as a GUI library, even though that is what Smart first released it as. Of course, we've set this series up as a comparison of different GUI toolkits, but each subject is not just a different toolkit, but a different kind of toolkit. Motif, the senior member of the group, is a GUI library and also a style guide and windowing manager, which bundles a user interface language (UIL). The others also have individual biographies. To keep the series manageable and coherent, though, our profiles focus primarily on the GUI-toolkit aspect.
Even with that restriction, the wxWindows architecture demands some explanation. It is indeed a GUI toolkit, and developers use it as such without knowing more about it. Bundled with its GUI functionality, though, are several distinct elements that are powerful advantages for certain projects: standard drag-and-drop functionality, an online help system, special-purpose persistence, printing, portable threading, and a higher-level networking layer that supports FTP and HTTP.
Another complication in explaining wxWindows is its reliance on native toolkits for low-level GUI functionality. This simplifies the daily work of programmers who use wxWindows; however, it's sufficiently different from the design of competing toolkits to confuse wxWindows novices. Current versions of wxWindows support two flavors of Unix implementation: GTK+ and Motif. That means that if you like the GNOME look, you'll get it -- almost down to the last pixel -- with wxWindows for GTK+. wxWindows also has good performance; its applications occasionally even outperform native codings, because in certain instances, the library's quality is higher than a C++ coder would likely achieve on his or her own.
This toolkit layering makes wxWindows admirably portable, which occasionally surprises newcomers. The same source code works under different operating systems; however, applications look different, depending on their flavor. The Windows executable has a standard Microsoft Foundation Classes (MFC) appearance, because both use Win32 widgets. This is what most organizations want, although many don't know it when they begin to specify projects.
Industrial strength
Developers seem to like wxWindows. It's quite rich, with its help system, sophisticated HTML and image viewers, and other specialized widgets, extensive documentation, and printing capabilities. Active mailing lists discuss a variety of wxWindows-related subjects. The project sports an
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.
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.
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.







