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 exceeded bandwidth limit, please consider using the other site listed below
This page resides in http://www.geocities.com/SiliconValley/Vista/7184/guitool.html 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  October 22,  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

    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
Fresco
(new)

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

Berlin renamed to Fresco in 2002, taking on the name of the old GUI toolkit Fresco

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)

CroPL
a C++ application framework and utility library for single-source Mac/Windows applications
non-profit use only
 
 
y
y
 
 
y
y
 

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 (old)

also see Berlin as the new Fresco

Advanced research toolkit formly supported by theX Consortium but now independently developed. Successor to Interviews.( alt. page)( Java version)
( another info page)
development stopped,  succeeded by 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 2.0. C API. IS the leading toolkit in the free software community in conjuction with Qt. 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

               
GuiToolkit
"a class set which allow You to build applications with new Microsoft interface style .It includes more than 50 of MFC classes"
no cost use
 
 
y
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++ wrapper for gtk+. (2.0 only) new developer, now in version 1.0 beta.

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, Ada and even Basic

LGPL

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)

   
PicoGUI
"a new Graphical User Interface architecture designed with embedded systems in mind. ... includes low-level graphics and input, widgets, themeing, layout, font rendering, network transparency, and debugging features." Also can be an alternative windowing system (when running on framebuffers) GPL/LGPL

y (native or via SDL)

 
y
y
 
 

 

 

 

y (via SDL)

Linux frame buffer, numerous embedded devices (see this list)

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

             
VCF
Visual Component Framework, "a simple to use cross platform GUI framework, with many of the advanced design features of Java and Java's Swing, and Borland's Visual Component Library.Also provides advanced RTTI/Introspection features common in languages like Object Pascal, Objective C, Smalltalk, and Java, but not typically found in C++" BSD
in development
 
y
y
 
 
 
in development
 

VXCL

The Virtual X Class Library. API strongly linked to the Win32 API. LGPL   

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."An open 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/GPL/LGPL

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
  • JAPI, binding for Java AWT (LGPLed)
  • BASIC

  • wxBasic, a BASIC interpreter with bindings for wxWindows (LGPLed)
  • JAPI, binding for Java AWT (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)