|
The UNIX community has developed a wide range of GUI toolkits over the years, primarily built on top of the X11 Windowing system. Virtually all of these have been ported to Mac OS X, and many can even run directly on Quartz without the need for an X11 server. This page provides a link to the most popular toolkits. In addition, other toolkits and porting resources are available from the Fink and OpenDarwin ports collections. Please see Chapter 5 of Apple's UNIX Porting Guide for suggestions on how best to bring your UNIX GUI over to Mac OS X.
|
|
X11 for Mac OS X
X11 for Mac OS X is an implementation of the X
Window System that makes it possible to run
X11-based applications in Mac OS X. Based on the
X.org Foundation releases -
the leading reference implementation of X11, X11
for Mac OS X is compatible, fast, and fully
integrated with Mac OS X. It features includes
full X11R7 compatibility including an X window
server, Quartz window manager, libraries, and basic
utilities such as xterm. It is optional but
installed by default on Mac OS X v10.5 Leopard. The
X11 SDK headers are available as part of the
Xcode
Developer Tools.
|
GTK+
GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete set of widgets, GTK+ is suitable for projects ranging from small one-off projects to complete application suites. In addition to a robust X11 port, used for projects like the Gimp and CinePaint, there is also an alpha Carbon port available from the GTK+OSX project.
|
GLUT
GLUT is the OpenGL Utility Toolkit, a window system independent toolkit for writing OpenGL programs. It implements a simple windowing application programming interface (API) for OpenGL. GLUT makes it considerably easier to learn about and explore OpenGL programming. GLUT provides a portable API so you can write a single OpenGL program that works on many platforms. A native version of GLUT is bundled with all versions Mac OS X.
|
Open Motif
Motif
is the base graphical user
interface toolkit for the industry-standard
Common Desktop Environment,
and includes both a windom manager and a widget library.
Open Motif is a source code
version of Motif available under a public license, which allows Open
Motif to be distributed royalty free when the platform upon which it is
shipped is Open Source. Open Motif is available in binary form for Mac
OS X from Imperial
Software Technology
|
LessTif
LessTif is the Hungry Programmers version of OSF/Motif®. It aims to be source compatible meaning that the same source code should compile with both and work exactly the same. It was invented before Motif was released under a public license, but is still expected by many Open Source projects. LessTif is available for X11 from the usual ports collections.
|
TkInter
Tkinter is Python's de-facto standard GUI (Graphical User Interface) package. It is a thin object-oriented layer on top of Tcl/Tk, and is the most commonly used toolkit for Python, as well as one of the most portable (though see also WxWindows, below). It does not require you to write Tcl, but you may need to refer to the Tcl/Tk documentation. While available for X11 on Mac OS X, noone has yet integrated the Aqua version of Tcl/Tk with Tkinter.
|
Perl/Tk
Perl/Tk (also known as pTk or ptk) is a collection of modules and code that attempts to wed the easily configured Tk 8 widget toolkit to the powerful lexigraphic, dynamic memory, I/O, and object-oriented capabilities of Perl 5. In other words, it is an interpreted scripting language for making widgets and programs with Graphical User Interfaces (GUI). Perl/Tk is available for X11, but since the codebase has diverged from Tcl/Tk, it would not be easy to incorporate that Aqua port.
|
Tcl/Tk
Tcl (Tool Command Language) is used by over half a million developers worldwide and has become a critical component in thousands of corporations. It has a simple and programmable syntax and can be either used as a standalone application or embedded in application programs. Best of all, Tcl is open source so it's completely free.
Tk is a graphical user interface toolkit that makes it possible to create powerful GUIs incredibly quickly. It proved so popular that it now ships with all distributions of Tcl, and there are now variants for Perl and Python. The latest Tk distribution includes beta-quality support for Tk/Aqua.
|
Qt
Qt is a multiplatform, C++ application framework that lets developers write one application that will run -- natively -- on Windows, Linux/Unix, Mac OS X, and embedded Linux with a simple recompile. It is elegant, intuitive, completely object- oriented, and inspires true love among developers, project managers, and IT executives. Qt is now available as a Aqua toolkit for Mac OS X under the GPL.
|
wxWidgets
wxWidgets gives you a single, easy-to-use API for writing GUI applications on multiple platforms. Link with the appropriate library for your platform (Windows/Unix/Mac, others coming shortly) and compiler (almost any popular C++ compiler), and your application will adopt the look and feel appropriate to that platform. On top of great GUI functionality, wxWidgets gives you: online help, network programming, streams, clipboard and drag and drop, multithreading, image loading and saving in a variety of popular formats, database support, HTML viewing and printing, and much much more. wxWidgets is available in both X11 and Aqua versions on Mac OS X.
|
XForms
XForms is a GUI toolkit based on Xlib for X Window Systems. It features a rich set of objects, such as buttons ,scrollbars , and menus etc. integrated into an easy and efficient object/event callback execution model that allows fast and easy construction of X-applications. In addition, the library is extensible and new objects can easily be created and added to the library. It is only available for X11 on Mac OS X.
|
Mowitz
Mowitz ("More widgets") is a library of widgets for X applications to use. The widgets have been snarfed from various sources and are all open source (GPL or MIT licenses). It is only available for X11 on Mac OS X.
|