The GUI Toolkit, Framework Page

User interfaces occupy an important part of software development. This page provides a comprehensive reference on toolkits for building graphical user interfaces (GUIs), with emphasis on resources for Free Software (Open Source).
Note to people using the geocities.com site: if you see the site down due to bandwidth limit exceeded, please consider using the other two sites listed below
This page resides in http://www.geocities.com/SiliconValley/Vista/7184/guitool.html and
http://www.free-soft.org/guitool/ and
http://www.atai.org/guitool/

Page created April 17, 1997 (86). recent changes

Thanks to Alejandro de Garate for improving the layout of this page .© Copyright 1997-2002 ( ROC Years 86-91), by Li-Cheng (Andy) Tai. See copyright for details. Last updated  March 3,,  2002  (91)
Free toolkits: C/C++ Java other languages    | commercial toolkits: C/C++ Java   | Related links   | copyright
GPL: GNU General Public License
LGPL:GNU Library/Lesser General Public License
PD: Public Domain
BSD: BSD or X11-like license (commonly allowing you todo whatever you want provided the original copyright notice is kept and credit given)
Art: The Perl Artistic License
MPL: Mozilla Public License


Free Toolkits (including both Free (in the GNU sense) and no-cost ones)

C/C++ oriented

(unless explicit stated with "C API", all toolkits in this table provide APIs in C++)
 
 
Name Comments license Unix X11+ Unix X11+ Motif MS Win 95/98 MS Win NT/2000 MS Win 3.1 OS/2 PM MacOS NextStep OpenStep
MacOS X
other platforms
AbiWord 's cross platform layer
more info needed!
Unix version built on gtk+
GPL
 
y
     
BeOS
AbsoluteX
n open source free class library primarily developed for use with X Window System. Uses libsigc++.
LGPL
y
               
Amiga Foundation Class 
aims to support Amiga and X11
art
?
 
 
 
 
 
 
 
Amiga (?)
AlfaGUI
a small GUI library for DOS, useful for embedded applications
 
y
             
DOS 16/32 bit
Amulet
OpenAmulet
research-oriented toolkit from CMU. native look andfeel. High-level support for interactive interfaces: Direct Manipulation Behaviors, Undo, Animation, etc. original project at CMU completed and Nolonger supported.  However, another group has picked up development as OpenAmulet.
PD
y
 
y
y
   
y
   
Andrew
research system from CMU. C and C++ API.
BSD
y
               
Bakery
a C++ Framework for creating GNOME applications using Gnome-- and
     Gtk--.
LGPL
y
               
Berlin
a totally new window system for Unix/Linux that alsoincludes high level APIs for GUI programming.  Very experimental asit buids upon  OpenGL and CORBA.  Successor of Fresco and Offix. Also listed as an alternative windowing system
LGPL 
                 
BGUI
GUI library for Amiga.based on BOOPS. C API.
freely distributable
 
 
 
 
 
 
 
 
Amiga
CG
GUI toolkit of the Arachneproject
BSD
y
 
y
y
 
 
y
 
 
Coral(ctGUI)
very powerful and complete advanced application framework with strong GUI components.  Advanced functionalities for non-GUI tasks like networking, shared memory, etc.
Art
y
 
y
y
 
 
 
 
Amiga (old versions)
Cvo
 
BSD
y
               
CX
an "UI utility with themes support." just begin.
LGPL
y
               
DCLAP
bare-bone application framework. Nolonger developed and maintained for 3 years already
noncommercial only
 
y
y
y
y
 
y
 
 
EasyGTK
 EasyGTK is a wrapper library to make GTK programmingeasier, and quicker
GPL
y
               
Epeios
Collection of general purposes libraries essentially coded in C++ and working under UNIX and Windows. containing GUI library
GPL
y
 
y
y
         
ET++ 
project is completed. successor is MET++.
BSD
y(?)
y(?)
             
EZWGL
C API. motif look and feel.
LGPL
y
               
Fltk
The Fast Light Tool Kit. API modeled after Xform,but in C++. SGI Motif look and feel. good documentation.( Fluid, an UI builder)
LGPL
y
 
y
y
   
unfinished
   
FOX
C++-based toolkit on top of XLib. MS Win 95 look.under development
LGPL
y
 
 y
y
 
 
   
Fresco
Advanced research toolkit formly supported by theX Consortium but now independently developed. Successor to Interviews.( alt. page)( Javaversion)
( another info page)
development stopped,  succeededby Berlin
BSD
y
 
y
y
   
y
   
GEM
The old GUI environment for MSDOS and Atari ST (about1985), now free  software
GPL
               
MS-DOS and Atari ST
GEM++
C++ classes for GEM programming, for Atari ST.
LGPL
 
 
 
           
GINA 
a research project, is completed. (ftp)
   
y
             
GLOW
"a cross-platform object-oriented framework for building interactive applications using OpenGL or similar APIs such as Mesa. It is, at its heart, an C++ wrapper for GLUT, providing a fully object-oriented API for creating windows, menus and other GUI elements, and for event handling. GLOW also features an extensible cross-platform widget library for building powerful user interfaces."Note: Thusportable to any platform where a functional OpenGL implementation exists(including Mesa )
LGPL
note
note
note
note
note
note
note
note
note
GLUI
An OpenGL /GLUT-basedGUI toolkit.   Rendering is done entirely in OpenGL. Win 95 lookand feel.  Note: Thusportable to any platform where a functional OpenGL implementation exists(including Mesa )
LGPL
note
note
note
note
note
note
note
note
note
GNOME (libs)
the GNOME desktop also servesas an application framework, C API. Requirers gtk+
LGPL
y
               
GNUstep
envolving NextStep/OpenStep clone. C/Objective CAPI. Version 0.6.6 just released
LGPL 
y
               
gnewt
a gtk+-based toolkit for writing simple user interfaces
LGPL
y
               
grafix
a library for "drawing pictures, functions or othergraphic objects in an interactive manner" or simple graphical user interfaceconstruction" with emphasis on visualization, not UI
GPL
y
               
GraphAPP
C API. a small toolkit for teaching.
?
y
y
?
?
y
       
gtk+
The GIMP Toolkit. developed as part of the GIMPproject. Now at version 1.2. C API. IS BECOMING a leading toolkit in the free software community. variable  look and feel (default:Motif). 
(ftp) (mailing list) ( gtk--,a C++ wrapper)( Gtkkitand Gtoolkit , ObjectC wrappers) ( wxGTK, WxWindows port to gtk+ (C++ API)) ( gtkv, Vport to gtk+ (C++ API))
(VDK , SDPGTK, Inti, other C++ wrappers)
glade, grad, epingle,UI builders for gtk+ and gtk--
libglade, a library for gtk/ GNOME  allowing GUI built at run time from specifications in configuration files in XML format, without the need to recompile program 
LGPL
y
 
y
y
       
BeOS , Linux console, DirectFB
gtkmm (gtk--)
gnomemm (gnome--)
complete C++ wrapper for gtk+ and GNOME. Uses modern C++ features (templates, etc.) for type-safe callbacks and signal/slots with libsigc++ . glade--,GUI builders for gtk--
related: gnomemm, c++ bindings for GNOME
LGPL
y
               
Harmony
attempts to create a Qt clone witha true Free Software license.  Development is halted. 
LGPL
unfinished
               
Hv
C API.
?
 
y
             
Interviews
ivtools
  Ivtoolsis an actively maintained and envolved version of Interviews, formerly by Vectaport Ivtool apps can be embedded inside Motif and Xt canvas. Ivrools contains an application framework, a GUI widget framework, A command interpreter , drawing editor application framework,  command interpreter into the drawing editor and graph/network application
Interviews (ftp) was 
an early advanced toolkit whose development stopped around  1993. conceptual successor is  Fresco.
BSD
y
               
Inti
a set of integrated foundation libraries for developingC++ applications on UNIX-like systems such as Linux, including C++ wrapperfor gtk+
LGPL
y
               
IUP
ANSI C, native controls, custom contros, abstract layout, only a few functions, Lua Scripting 
freely distributable
 
 
 
     
 
IBTK
a small, "basic self-contained no-frills toolkitto create platform-independent GUI software (in C++)
GPL
y
               
JAPI
Written in
JAVA and C,  provides the JAVA AWT Toolkit to non object oriented Languages like C, Fortran, Pascal and even Basic
?
y
y
y
y
         
KaiView
stalled in favor of the LIP . recently resumed
?
y
             
 
KDE(libs)
KDE desktop  also serves as anapplication framework. Requires Qt
LGPL
y
               
LessTif
an envolving Motif 1.2 clone. getting close to becomea complete Motif substitution. C API.
LGPL
y
               
libsx
"the Simple X library -- is a lightweight wrapperlibrary sitting on top of the Athena Widget set." C API
LGPL
y
               
Lightweight GUI Interface
also for BeOS
LGPL
 
 
?
?
       
BeOS
libgui
C API.
BSD
y
               
LIP
Linux Interface Project. still under development, in the beginning stage. development stalled?
LGPL(?)
Art(?)
y
               
MacAPP
Apple 's Mac framework, probably the first widely available GUI framework.   Still supported/updated by Apple.
MacAPP license
   
y (unfinished)
y (unfinished)
 
 
y
y
 
Marx
C API. the GUI toolkit is part of a C-like scriptlanguage for quickly building GUIs, although also usable from compiled C. Motif look and feel.
GPL
y
               
MET++
"an object-oriented application framework .... providingreusable objects for 2D graphics, user interface components, 3D graphics,video, audio, and music." based on ET++.
?
y
 
?
y(?)
   
y(?)
   
MGUI
C API.
?
y
 
y
y
y
       
Microwindows
a small windowing system providing Win32 and X11API, targetting embedded systems. C API
MPL, GPL
y
 
 
 
 
 
 
 
MS-DOS, Linux framebuffer, RTEMS, Linux SVGAlib
MiniGUI
" a compact Graphics User Interface (GUI) support system for Linux. MiniGUI defines some Win32-like APIs for the applications. The goal of MiniGUI is keeping its features of small and exquisiteness to provide a small windowing system support library."
LGPL
y
 
 
 
 
 
 
 
Linux framebuffer, Linux SVGAlib and libCGI
(Motif)
OpenMotif
The real Motif, the traditionalstandard Unix X11 toolkit, now moving toward free/open source software.  C API.
OpenGroup Public License (free for free/open source unices only)
y
native
             
Motif++
C++ wrapper for motif.
?
 
y
             
notif
written in object-oriented C.  C API. Motiflook and feel. ( announcement)
GPL
y
               
NWS
distributed as part of Pavuk.C API.
GPL
y
               
OPaC
"a highly portable user interface toolkit with dynamicedition." look and feel and behavior are adjustable/editable at run time
"OPaCFree Public License"
 unfinished (?)
 
y
y
 
unfinished
unfinished
 
 
OpenOffice(as an GUI application framework )
possibly modern forms of StarView? containing a complete application framework and GUI library as the basis of an office suite, including low level GUI toolkit (VCL), application framework, graphics applications services
GPL/LGPL/SISSL
y
 
y
         
Offix
a very rich C++ interactive application API withclasses for X11 windows, images, events, clipboards, inter-application communications, styles for look and feel, layout management and drag anddrop.  Also has classes for Unix system services. Open Look and Motiflook and feel. In alpha  release. No longerdeveloped, work merged into Berlin
LGPL
y
               
OpenGUI
a small  graphics  &   windowing library  built  upon a  fast,    low-level  x86 asm  graphics  kernel. Windows 95 look and feel
LGPL
 
 
 
 
 
 
 
 
Linux console, MS-DOSDJDPP, QNX
ParaGUI
a high-level crossplatform application framework and GUI library. It is completely based on the SimpleDirectMedia Layer (SDL). Works on any environment where SDL exists.
LGPL
y (via SDL)
 
y (via SDL)
y (via SDL)
 
 
y (via SDL)
   
Pingo
a C++ class library and framework for X Window Systemwith OSF/MOTIF look-and-feel. API is similar to the Java AWT API.
LGPL
 
y
             
Qt
a high-quality framework. hasadvanced features not present in other toolkits, such a full 2d graphics API (with rotations, scaling, shearing, etc.), metafile support, same code for screen and printer output. variable look and feel (default:Motif or Win95). Version 3.0 released.
KDevelop , EBuilder, Qt Architect , QtDesigner and QtEZ, UI buildersfor Qt
Qt Free Edition license (1.x series, X11 versiion) 
QPL( Qt 2.x series, X11 version)
QPL and GPL (Qt 2.2 and later, X11 version)
no cost for non-commerical use (Windows version)
y (QPL and GPL)
 
y (no cost for non-commercial use)
y (no cost for non-commercial use)
       
  Qt/Embedded: for the Linux frame buffer without X.
STDWIN
C API. No longer supported.
?
y
 
 
 
 
 
y
 
 
SUIT
Simple User Interface Toolkit. C API.
y
     
y
 
y
   
Tk
good widget set but not frequently used as a pure C library. Widely used in combination with high-level script languages (Tcl, Scheme, Python, Perl,etc.). C API. Native look and feel.
BSD
y
 
y
y
y
 
y
   
TOAD
in early stage, still alpha
LGPL
y
               
TWIN/The
   Willows
   Toolkit
implementation of MS Windows API on other platforms.C API.
LGPL
y
 
native
native 
native
 
y
 
 
V
Common C++ wrapper for many platforms. a good "competitor"of WxWindows.native look and feel.  ( gtkv, gtk+ port of V)
LGPL
y
y
y
y
y
   
 
VDK
"Visual Development Kit", a C++ wrapper for gtk+ ( VDK Builder, a RAD tool for VDK)
LGPL
y
               
Vibrant (NCBI Toolkit)
part of National Center for Biotechnology Informationsoftware development toolkit, a multi-platform user interface developmentlibrary that automatically handles the behavior of GUI objects, with callbacksto programs
 
 
y
y(?)
y(?)
y(?)
 
y
   
(TheHungry) ViewKit 
a clone of the SGI (ICS) Viewkit.Currently not being developed.
LGPL(?)
(in the future with lesstif)
y
             
ViewKit (ICS)
C++ framework for Motif.  Freely available for Linux Only.
no-cost (for Linux only)
 
y
             
VWCL
MS Win specific class library.
     
y
y
y
       
VxLib
Visual Text Library, a "character cell"-based librarylike text mode but displayed in a X window
GPL
 y
 
             
Wafe
"Wafe (Widget[Athena]front end) is a package thatimplements a symbolic, string based interface based on Tcl to the X Toolkit, the Athena Widget Set , Motif and various complementary widget classes and extension packages. " C API.
BSD
y
y
             
Whisper
"general purpose Mac/Win32 C++ application framework. successor to the Mac framework Raven. 
is a modern framework that takes advantage of templates, multiple inheritance, STL, and exceptions. is designed around the notionof
Design by Contract and includes numerous debugging tools."
BSD
 
 
y
y
y
 
y
   
WideStudio
an IDE with an original windowing library and visual window editor and a rich set of development facilities
BSD
y
 
y
y
         
Wine
"a free implementation of Windows (API) on Unix" On Intel x86 PCs only, can be used to port Windows programs to X11
Wine license
y (Intel x86 PC only)
 
native 
native
native
y
     
WIRP
"Windows Interface Reduced Programming is a libraryof c routines for simple, platform independent GUI programming." C API. 
?
y
 
 
 
 
 
 
 
 
WWL(  ?)
C++ classes around X widgets.
?
y(?)
y(?)
             
WxWindows
Common C++ wrapper for many platforms. major revision(2.0)  just released. native look and feel. good cross-platform support.(Wxxt , X Toolkit port)
( WxGTK, gtk+ port)
BSD (version1.x only)
LGPL ( wxxt1.6x only)
WxWindows license (version 3.0, actually LGPL plus exceptions)
y
y
y
y
y
unfinished
y
unfinished
also on top of MicroWindows, and MGL (unfinished) 
Xarm
a C++ wrapper for Motif.
LGPL
 
y
             
X|Front
"a C++ library providing an object-oriented interfaceto X11R5 Xlib"
BSD
y
               
xclasses
"the X11 layout library." details available in Germanonly 
note another toolkit has the samename
LGPL
?
               
xclasses, xclass95
developed in conjuction with the fvwm95 window manager. MS-Win 95 look and feel.
note another toolkit has the samename
LGPL
y
               
XForms
a toolkit distributed in binary form only. C API. ( fdesign,a UI builder)
X Forms license
y
               
Xm++ (?)
C++ classes for Motif and X11 Athena widgets
?
y
y
             
Xmt (Motif Tools), Xmt++
"Xmt is a Motif Tools library. The Xmt Motif Tools library provides developers of user interfaces tools that make Motif easier to use. Xmt consists of the core library of additional widgets, utility programs, docs, tutorials, and example code." C API. Supports rapid prototyping, GUI story boarding.
"Xmt++ is to provide a C++ Model-View-Controller framework implementation based on Xmt. This framework makes it easier to integrate a Motif GUI to an application and maintain design integrity." 
BSD
y
               
XPIP
C API
BSD
y
             
 
XPToolkit (Xpfe)
cross-platform, toolkit for Mozilla."Anopen source SDK for building common cross-platform user interfaces usingexisting cross-platform
standards (e.g., XML, RDF, HTML, CSS, DOM, JavaScript) and technologies (e.g., Gecko, XPConnect) to minimize
platform-specific code." May built on top of gtk+ and Xt for X11
MPL
y (Xt, gtk)
?
y
y
y
 
y
   
XView
the Open Look widget set. C API. no longer supportedby Sun in favor of Motif.
 
y
               
YACL
native look and feel
BSD
 
y
y
y
y
y
   
 
YAAF
Yet Another Application Framwork,  with fairlycomplete  GUI classes and good cross-platform support
BSD
y
 
y
y
 
 
y
   
yzone
a set of universal cross-platform libraries for creationof the graphical modular applications for any UNIX or Microsoft Windowsplatform. C API
LGPL
y
 
y
y
         
Zinc 
well stablished, cross-platform
 framework. supports 24 platforms  (including MS DOS and Unix text mode) 
desktop use only (not for  embedded applications)
 
y
y
y
y
y
 
 
 MS-DOS, VxWorks, pSOS
Zoolib
"Zoolib provides a GUI toolkit with a uniquely flexible layout system. It also provides a single-file database format, TCP networking, and extensive debugging support. ZooLib applications are multithreaded. ZooLib requires only minimal support from the underlying OS and platform GUI layer, and thus could be ported to a completely new platform without too much difficulty"
BSD
y
 
y
y
 
 
y
 
BeOS
Zune
Amiga MUI clone for X11
LGPL
y
               
Name
Comments
license
Unix X11 +
Unix X11 + Motif
MS Win 95/98
MS Win NT/2000
MS Win 3.1
OS/2 PM
MacOS
NextStep OpenStep
MacOS X
other platforms
(+X11 has been ported to OS/2 so theoretically X-based toolkits work in OS/2 X11 as well. see Xfree86/OS2)

to top

Java oriented

Ada

  • GtkAda , Ada binding for gtk+,for X11 and Windows ( GPLed plus exceptions )
  • X11Ada ,X11 and Motif bindings forAda
  • VisualAda Developer, RAD environment for Ada
  • GWindows , GUI framework for Ada on Windows  (GPL/LGPLplus exceptions )
  • Windex, Ada wrapper for the Win32 API ( GPLplus exceptions)
  • JEWL, Simple GUI framework for rapid development of GUI programs ( GPL)
  • Claw, Ada framework for the Windows  API, demo version
  • BASIC

  • wxBasic, a BASIC interpreter with bindings for wxWindows (LGPLed)
  • LISP

    Tcl

    Pascal

    Modula 2

  • Dialog Machine and RAMSES (Research Aids for Modeling and Simulation of Environment Systems) "providesthe basis for highly portable programming of interactive applications,since it makes a minimum of assumptions on the properties of the underlyingoperating system and the hardware", available for MacOS, Atari ST (GEM),PC (GEM, MS Windows, Windows NT) and Unix (SUN and IBM RISC). RAMSES is Mac only. Both no cost freeware.
  • Perl

    Python

    Scheme (including Guile)

    Oberon

    Smalltalk

    Prolog

  • XPCE (GPLed ), for SWI-Prolog
  • Pike

  • PiGTK,Pike's gtk+ and GNOME bindings (GPLed)
  • Lua

    to top


    Commercial Toolkits

    C/C++ oriented


     
    Name 
    Comments
    Unix X11
    Unix X11Motif
    MS Win 95/98
    MS Win NT/2000
    MS Win 3.1
    OS/2 PM
    MacOS
    NextSTEP OpenSTEP
    MacOS X
    Amiga
    MFC
    Microsoft Foundation Class library. probably themost dominant toolkit today
     y (3rd party, MainWin)
    y (3rd party, Bristol)
    y
    y
    y
     
    y (add-on)
       
    OWL
    Borland Object Windows Library. once the king before MFC comes... ( OWL resources )
       
    y
    y
    y
     ?
    ?
       
    VCL
    Visual Component Library, Borland/Inprise's curent-generationGUI class library
     
     
    y
    y
             
    ClassAct
     
     
     
     
     
     
     
     
     
    y
    CPLAT
    a C++ framework for Mac and Windows
     
     
    y
    y
    y(?)
     
    y
     
     
    Galaxy
     well established, cross-platform framework 
    ( companyout of business)
     
    y
    y
    y
    y
    y
    y
       
    ILOGViews
    well established, cross-platform framework. commercialproduct with capabilities similar to Interviews
    y
    y
    y
    y
    y
    y
         
    Latitude (product dropped?)
    MacOS API on Unix and Mac OS X (OpenStep)
    y
     
     
     
     
     
    native
    y
     
    MacAPP
    Apple 's Mac framework, probably the first widely available GUI framework.   Still supported/updated by Apple.
       
    y (unfinished)
    y (unfinished)
       
    y
    y
     
    MainWin/XDE
    MS Win API on X11.
    y
     
     native
     native
     native
     
     
     
     
    MUI
    "Magic User Interface", popular in Amigacommunity
     
     
     
     
     
     
     
     
    y
    NoWait
    a shareware GUI Application framework.
     
     
    y
    y
    y
    y
         
    ObjectViews (product dropped?)
    commercial version of Interviews, OpenLook or Motif look and feel, switchable on the fly
     
    unfinished 
    unfinished
             
    OpenClass
    from IBM /Taligentfor IBM VisualAge for C++, also supports OS/400
     
    y (AIX and Sun Solaris only)
     
     
     
     
    OpenInterface Element
    full-featured, strong international language support
    y(?)
    y(?)
    y
    y
    y
    y
    y
     
     
    OpenStep (Cocoa)
    Apple's application API for developing Mac OS X applicationsworking on different platforms
     
     
    y (?)
    y (?)
     
     y (?)
     
    native
     
    OpenUI
    really a User Interface Management System
     
    y
    y
    y
    y
    y
    y
     
     
    PowerPlant
     included with Metrowerk's Mac OS compilers.            
    y
       
    Qt
    an advanced, high quality toolkit. free/open source license available.. Version 3 released.
    y
     
    y
    y
    y
     
     see Mac OS X
    y
     
    SansGUI
    An object-oriented modeling and simulation environment for
    developing and deploying scientific and engineering
    applications
    without writing any GUI code. Support Visual C++ and Compaq Visual Fortran.
     
     
    y
    y
             
    SL-GMS
    specialized framework for dynamic graphics for monitoringand control Systems, can integrate with other "native" frameworks
     
    y
    y
    y
    ?
     
         
    StarView
    no longer available?  (see OpenOffice)
    ?
    ?
    ?
    ?
    ?
    ?
    ?
       
    Think Class Library
    An early commercial GUI framework for Mac
               
    y
       
    ViewKit ( SGI, ICS)
     C++ framework for Motif
     
    y
     y
     
     
     
     
     
    ViewTouch
    "open framework source for rapid development of opennetwork computing applications" such as touchscreen
    y (with lesstif )
     y
     
     
             
    WindU
    MS Win API on Motif, with MFCsupport
     
    y
    native
    native 
    native 
     
     
     
     
    WM_Motif
    MS Win API on Motif
     
    y
    native 
    native 
    native 
     
     
     
     
    WNDX
     
     
    y
    y
    y
    y
     
    y
     
     
    X Designer
    really a GUI builder. Unix version includes partial MFCi mplementation on Motif
     
    y
                 
    XVT
     well established, cross-platform framework
     
    y
    y
    y
    y
    y
    y
       
    zAPP
     well established, cross-platform framework.No longer available.
     
    ?
    ?
    ?
    ?
    ?
         
    Zinc
    well established, cross-platform framework. supports24 platforms (including MS DOS and Unix text mode) freely available for  non-embedded use
     
    y
    y
    y
    y
    y
     
       

    Java Oriented

    C#

  • WinForm, the standard C# GUI class library/framework.
  • Ada

  • CLAW,Ada framework  for Windows 95/NT
  • ObjectAda