Chapter 17. Introduction
What are GUI toolkits?
- GUI
Graphical User Interface
The problem:
There are many OSes out there
Every OS looks different
There must be some way to get buttons, windows, etc.
There is no common standard!
Unfortuntely, every OS has a different "windowing system"
- Unix / Linux
uses X11.
- MacOS X
uses Aqua.
- Windows
uses Win32 API.
Programming for these systems direct is not much fun. It involved plain C (no C++).
Therefore, people have written toolkits.
- Toolkit
In computer programming, widget toolkits (or GUI toolkits) are sets of basic building elements for graphical user interfaces. They are often implemented as a library, or application framework.
Some very common Toolkits are:
- Motif
build on top of X11, written in C.
- GTK (Gimp Tool Kit)
build on top of X11, written in C. A windows version is available, but not as stable.
- QT
Written in C++. The X11 version is free, the windows version is commercial.
- Carbon
Build on top of Aqua. Written in C.
- Cocoa
Build on top of Aqua. Written in Obj-C.
- MFC (Microsoft Foundation Classes)
Build on top of Win32. Written in C++. Only available with Visual Studio
- VCL (Visual Component Library)
Build on top of Win32. Written in C++. Only available with Borland compilers.
- wxWidgets
Cross-Plattform. Works on top of X11, Carbon, or Win32. Written in C++. Freely available for most compilers.
There are many, many other toolkits. This is just a small selection.
Unfortunately most of these toolkits do not come standard on the respective OS. That means:
When you develop, you need to make sure the development portion of the toolkit you are using is installed on the machine
When you deploy, you need to ensure that the deployment portion of the toolkit is on the users machine. For windows, this means .dll files.