List of widget toolkits
Encyclopedia

Integrated in the operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

  • Mac OS X uses Cocoa
    Cocoa (API)
    Cocoa is Apple's native object-oriented application programming interface for the Mac OS X operating system and—along with the Cocoa Touch extension for gesture recognition and animation—for applications for the iOS operating system, used on Apple devices such as the iPhone, the iPod Touch, and...

    . Mac OS9 and Mac OS X use Carbon
    Carbon (API)
    Carbon is one of Apple Inc.'s procedural application programming interfaces for the Macintosh operating system. It provides C programming language access to Macintosh system services...

     for 32 bit applications.
  • The Windows API
    Windows API
    The Windows API, informally WinAPI, is Microsoft's core set of application programming interfaces available in the Microsoft Windows operating systems. It was formerly called the Win32 API; however, the name "Windows API" more accurately reflects its roots in 16-bit Windows and its support on...

     used in Microsoft Windows
    Microsoft Windows
    Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

    . Microsoft had the graphics functions integrated in the kernel until 2006

As a separate layer on top of the operating system

  • The X Window System
    X Window System
    The X window system is a computer software system and network protocol that provides a basis for graphical user interfaces and rich input device capability for networked computers...

     contains primitive building blocks, called Xt
    Intrinsics
    X Toolkit Intrinsics is a library used in the X Window System. More precisely, it is a library that uses the low-level Xlib library and provides a friendly API to develop X11 software with graphical widgets...

     or "Intrinsics", but they are used only by Motif
    Motif (widget toolkit)
    In computing, Motif refers to both a graphical user interface specification and the widget toolkit for building applications that follow that specification under the X Window System on Unix and other POSIX-compliant systems. It emerged in the 1980s as Unix workstations were on the rise, as a...

     and Xaw
    Xaw
    Xaw is short for the X Window System Athena widget set, which is a set of widgets to implement simple user interfaces based upon the X Toolkit Intrinsics...

    . Most other toolkits, such as GTK+
    GTK+
    GTK+ is a cross-platform widget toolkit for creating graphical user interfaces. It is licensed under the terms of the GNU LGPL, allowing both free and proprietary software to use it. It is one of the most popular toolkits for the X Window System, along with Qt.The name GTK+ originates from GTK;...

     or Qt
    Qt (toolkit)
    Qt is a cross-platform application framework that is widely used for developing application software with a graphical user interface , and also used for developing non-GUI programs such as command-line tools and consoles for servers...

    , bypass them and use Xlib
    Xlib
    Xlib is an X Window System protocol client library written in the C programming language. It contains functions for interacting with an X server. These functions allow programmers to write programs without knowing the details of the protocol...

    .
  • The Amiga OS Intuition
    Intuition (Amiga)
    Intuition is the windowing system and user interface engine of AmigaOS. It was developed almost entirely by RJ Mical. Intuition should not be confused with Workbench, the AmigaOS spatial file manager, which relies on Intuition for handling windows and input events.Users may remember the initial...

     was formerly present in the Amiga Kickstart ROM and integrated itself with a medium-high level widget library which invoked the Workbench
    Workbench (AmigaOS)
    -Overview:Commodore named their Amiga computer's first operating system Workbench 1.0 and continued with the Workbench name until version 3.1, when it was changed to AmigaOS, prompted by Apple renaming their propriety OS from "System" to "MacOS"...

     Amiga native GUI
    Gui
    Gui or guee is a generic term to refer to grilled dishes in Korean cuisine. These most commonly have meat or fish as their primary ingredient, but may in some cases also comprise grilled vegetables or other vegetarian ingredients. The term derives from the verb, "gupda" in Korean, which literally...

    . Since Amiga OS 2.0, Intuition.library became disk based and object oriented. Also Workbench.library and Icon.library became disk based, and could be replaced with similar third-party solutions.
  • Since 2005 Microsoft has taken the graphics system out of Windows' kernel

On Amiga
Amiga
The Amiga is a family of personal computers that was sold by Commodore in the 1980s and 1990s. The first model was launched in 1985 as a high-end home computer and became popular for its graphical, audio and multi-tasking abilities...

  • BOOPSI
    BOOPSI
    BOOPSI is an object-oriented programming system for AmigaOS...

     (Basic Object Oriented Programming System for Intuition) was introduced with OS 2.0 and enhanced Intuition with a system of classes in which every class represents a single widget or describes an interface event. This led to an evolution in which third-party developers each realised their own personal systems of classes.
  • MUI
    Magic User Interface
    The Magic User Interface is an object-oriented system by Stefan Stuntz to generate and maintain graphical user interfaces. With the aid of a preferences program, the user of an application has the ability to customize the outfit according to personal taste....

    : object oriented GUI toolkit and the official toolkit for MorphOS
    MorphOS
    MorphOS is an Amiga-compatible computer operating system. It is a mixed proprietary and open source OS produced for the Pegasos PowerPC processor based computer, PowerUP accelerator equipped Amiga computers, and a series of Freescale development boards that use the Genesi firmware, including the...

  • Zune (GUI toolkit)
    Zune (GUI toolkit)
    Zune is an object-oriented GUI toolkit which is part of the AROS project and nearly a clone, at both an API and look and feel level, of Magic User Interface , a well-known Amiga shareware product by Stefan Stuntz....

     is an open source clone of MUI and part of the AROS
    Aros
    Aros may refer to:*Aros , a river in J. R. R. Tolkien's Middle-earth legendarium*AROS Research Operating System, a free software implementation of AmigaOS* Aros, the original Viking name of Aarhus, the second largest city in Denmark...

     project.
  • ClassAct: another system which evolved in AmigaOS 3.9 and 4.0 into ReAction
    ReAction GUI
    ReAction GUI it is the name of the widget toolkit engine that is used in AmigaOS 3.5-4.1.It is an evolution of ClassACT, which is an object oriented system of classes that enhanced the aspect of the Workbench 2.0 GUI of AmigaOS.- History :...

     based GUIs.
  • Triton
  • BGUI
  • StormWIZARD: IFF
    Interchange File Format
    Interchange File Format , is a generic container file format originally introduced by the Electronic Arts company in 1985 in order to ease transfer of data between software produced by different companies....

    -based, developed by Thomas Mittelsdorf
  • Feelin: XML
    XML
    Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....

    -based, developed by Olivier Laviale
  • GTK MUI wrapper which wraps GTK system of widgets with existing AmigaOS
    AmigaOS
    AmigaOS is the default native operating system of the Amiga personal computer. It was developed first by Commodore International, and initially introduced in 1985 with the Amiga 1000...

     MUI toolkit for AROS and MorphOS

On Macintosh

  • Cocoa
    Cocoa (API)
    Cocoa is Apple's native object-oriented application programming interface for the Mac OS X operating system and—along with the Cocoa Touch extension for gesture recognition and animation—for applications for the iOS operating system, used on Apple devices such as the iPhone, the iPod Touch, and...

     - used in Mac OS X
    Mac OS X
    Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...

     (see also Aqua
    Aqua (user interface)
    Aqua is the GUI and primary visual theme of Apple Inc.'s Mac OS X operating system. It is based around the theme of water, as its name suggests, with droplet-like elements and liberal use of translucency and reflection effects...

    )
    .
  • MacApp
    MacApp
    MacApp was Apple Computer's primary object oriented application framework for the Mac OS for much of the 1990s. First released in 1985, it is arguably the first such system to be widely used, notably on a microcomputer platform...

     Macintosh framework.
  • MacZoop
    MacZoop
    MacZoop was a popular application framework for the Apple Macintosh, based on Carbon. Written exclusively in C++, it was designed as a much smaller and manageable alternative to the popular, but now defunct Think Class Library from Symantec, and later, PowerPlant framework from Metrowerks. MacZoop...

     Macintosh C++ framework.
  • PowerPlant
    PowerPlant
    PowerPlant is an object-oriented GUI toolkit, application framework and set of class libraries for Mac OS, created by Metrowerks. The framework was fairly popular at the height of the Classic Mac OS era, and was primarily used with CodeWarrior...

     Macintosh framework.

On Microsoft Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

  • The Microsoft Foundation Classes (MFC), a C++ wrapper around the Windows API.
  • The Windows Template Library
    Windows Template Library
    The Windows Template Library is a free software, object-oriented C++ template library for Win32 development. WTL was created by Microsoft employee Nenad Stefanovic for internal use and later released as an unsupported add-on to Visual Studio and the Win32 Framework SDK...

     (WTL), a template-based extension to ATL
    Active Template Library
    The Active Template Library is a set of template-based C++ classes developed by Microsoft, intended to simplify the programming of Component Object Model objects. The COM support in Microsoft Visual C++ allows developers to create a variety of COM objects, OLE Automation servers, and ActiveX...

     and a replacement of MFC
  • SmartWin++
    SmartWin++
    SmartWin++ is a Windows GUI and SOAP programming library written in and for C++. It uses newer language features such as templates, type-safe conversions and the STL. Like many GUI libraries for Windows, SmartWin++ essentially wraps functions from the C based Windows API in objects, arguably...

    , an MFC/WTL
    Windows Template Library
    The Windows Template Library is a free software, object-oriented C++ template library for Win32 development. WTL was created by Microsoft employee Nenad Stefanovic for internal use and later released as an unsupported add-on to Visual Studio and the Win32 Framework SDK...

     replacement using templates based on STL
    Standard Template Library
    The Standard Template Library is a C++ software library which later evolved into the C++ Standard Library. It provides four components called algorithms, containers, functors, and iterators. More specifically, the C++ Standard Library is based on the STL published by SGI. Both include some...

     and Boost
    Boost library
    Boost is a set of free software libraries that extend the functionality of C++.-Overview:Most of the Boost libraries are licensed under the Boost Software License, designed to allow Boost to be used with both free and proprietary software projects...

  • The Object Windows Library
    Object Windows Library
    The Object Windows Library is a Borland C++ object-oriented framework originally designed for WinAPI. It was used in Turbo Pascal for Windows, Borland Pascal and their Borland C++ package. It was a competitor to the Microsoft Foundation Class Library .OWL had incomplete support by the Borland C++...

    , Borland
    Borland
    Borland Software Corporation is a software company first headquartered in Scotts Valley, California, Cupertino, California and finally Austin, Texas. It is now a Micro Focus subsidiary. It was founded in 1983 by Niels Jensen, Ole Henriksen, Mogens Glad and Philippe Kahn.-The 1980s:...

    's alternative to MFC.
  • The Visual Component Library
    Visual Component Library
    VCL is a visual component-based object-oriented framework for developing Microsoft Windows applications. It was developed by Borland for use in, and tightly integrated with, its Delphi and C++Builder RAD tools...

     (VCL) is Borland's toolkit used in its C++ Builder and Delphi products.
  • Windows Forms
    Windows Forms
    Windows Forms is the name given to the graphical application programming interface included as a part of Microsoft .NET Framework, providing access to native Microsoft Windows interface elements by wrapping the extant Windows API in managed code...

     is .NET's
    .NET Framework
    The .NET Framework is a software framework that runs primarily on Microsoft Windows. It includes a large library and supports several programming languages which allows language interoperability...

     set of classes that handle GUI controls. In the cross-platform Mono
    Mono (software)
    Mono, pronounced , is a free and open source project led by Xamarin to create an Ecma standard compliant .NET-compatible set of tools including, among others, a C# compiler and a Common Language Runtime....

     implementation, it is an independent toolkit, implemented entirely in managed code
    Managed code
    Managed code is a term coined by Microsoft to identify computer program code that requires and will only execute under the "management" of a Common Language Runtime virtual machine ....

     (not wrapping the Windows API, which doesn't exist on other platforms).
  • The Windows Presentation Foundation
    Windows Presentation Foundation
    Developed by Microsoft, the Windows Presentation Foundation is a computer-software graphical subsystem for rendering user interfaces in Windows-based applications. WPF, previously known as "Avalon", was initially released as part of .NET Framework 3.0. Rather than relying on the older GDI...

     is the graphical subsystem of the .NET Framework 3.0. User interfaces can be created in WPF using any of the CLR
    Common Language Runtime
    The Common Language Runtime is the virtual machine component of Microsoft's .NET framework and is responsible for managing the execution of .NET programs. In a process known as just-in-time compilation, the CLR compiles the intermediate language code known as CIL into the machine instructions...

     languages (e.g. C#) or with the XML
    XML
    Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....

     based language XAML
    XAML
    Extensible Application Markup Language is a declarative XML-based language created by Microsoft used for initializing structured values and objects. It is available under Microsoft's Open Specification Promise...

    . Microsoft Expression Blend is a visual GUI builder for WPF.

On Unix
Unix
Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...

, under the X Window System

Note that the X Window system was originally primarily for Unix-like operating systems, but it now runs on Microsoft Windows as well using, for example, Cygwin
Cygwin
Cygwin is a Unix-like environment and command-line interface for Microsoft Windows. Cygwin provides native integration of Windows-based applications, data, and other system resources with applications, software tools, and data of the Unix-like environment...

, so some or all of these toolkits can also be used under Windows.
  • InterViews
    InterViews
    InterViews is a native C++ toolkit for the X Window System developed by Mark Linton and his team at Stanford University and later Silicon Graphics. The last major release was InterViews 3.1 in 1993, and included the Unidraw drawing editor application framework which was the basis of John Vlissides'...

    , a toolkit written in C++
    C++
    C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

    .
  • IRIS ViewKit by Silicon Graphics
    Silicon Graphics
    Silicon Graphics, Inc. was a manufacturer of high-performance computing solutions, including computer hardware and software, founded in 1981 by Jim Clark...

     (and its free implementation Hungry ViewKit) is a C++
    C++
    C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

     class library for developing Motif
    Motif (widget toolkit)
    In computing, Motif refers to both a graphical user interface specification and the widget toolkit for building applications that follow that specification under the X Window System on Unix and other POSIX-compliant systems. It emerged in the 1980s as Unix workstations were on the rise, as a...

     applications.
  • JX Application Framework
  • Lesstif
    LessTif
    LessTif is a free software reimplementation or clone of the Motif computer programming toolkit, developed by the Hungry Programmers.As opposed to Motif, which is distributed under a proprietary license that can require the payment of royalties, LessTif is distributed under the GNU Lesser General...

    , an open source
    Open source
    The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

     (LGPL) version of Motif.
  • Motif
    Motif (widget toolkit)
    In computing, Motif refers to both a graphical user interface specification and the widget toolkit for building applications that follow that specification under the X Window System on Unix and other POSIX-compliant systems. It emerged in the 1980s as Unix workstations were on the rise, as a...

     used in the Common Desktop Environment
    Common Desktop Environment
    The Common Desktop Environment is a desktop environment for Unix and OpenVMS, based on the Motif widget toolkit.- Corporate history :...

    .
  • Xaw
    Xaw
    Xaw is short for the X Window System Athena widget set, which is a set of widgets to implement simple user interfaces based upon the X Toolkit Intrinsics...

    , the Project Athena
    Project Athena
    Project Athena was a joint project of MIT, Digital Equipment Corporation, and IBM to produce a campus-wide distributed computing environment for educational use. It was launched in 1983, and research and development ran until June 30, 1991, eight years after it began...

     widget set for the X Window System
    X Window System
    The X window system is a computer software system and network protocol that provides a basis for graphical user interfaces and rich input device capability for networked computers...

    .

Based on C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

 or C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

 (including bindings
Language binding
In computing, a binding from a programming language to a library or OS service is an API providing that service in the language.Many software libraries are written in systems programming languages such as C or C++...

 to other languages)

  • Agar is a set of cross-platform graphics libraries which includes a comprehensive GUI toolkit. Agar supports OpenGL
    OpenGL
    OpenGL is a standard specification defining a cross-language, cross-platform API for writing applications that produce 2D and 3D computer graphics. The interface consists of over 250 different function calls which can be used to draw complex three-dimensional scenes from simple primitives. OpenGL...

     rendering as well as simple frame buffer displays with SDL
    Simple DirectMedia Layer
    Simple DirectMedia Layer is a cross-platform, free and open source multimedia library written in C that presents a simple interface to various platforms' graphics, sound, and input devices....

    .
  • CEGUI
    CEGUI
    Crazy Eddie's GUI system is a graphical user interface C++ library. It is designed particularly for the needs of videogames, but the library is usable for non-game tasks...

    , open source
    Open source
    The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

     (MIT License
    MIT License
    The MIT License is a free software license originating at the Massachusetts Institute of Technology . It is a permissive license, meaning that it permits reuse within proprietary software provided all copies of the licensed software include a copy of the MIT License terms...

    ), configurable GUI designed for game development
    Game development
    Game development is the software development process by which a video game is developed. Development is undertaken by a game developer, which may range from a single person to a large business. Mainstream games are normally funded by a publisher and take several years to develop. Indie games can...

    .
  • dlib C++ Library, for creating simple cross-platform graphical applications.
  • Elementary
    Enlightenment Foundation Libraries
    The Enlightenment Foundation Libraries, or EFL, is a set of open source graphical software libraries that grew out of the Enlightenment window manager project and is developed by Enlightenment.org with some sponsorship from Samsung, Profusion and Free.fr...

    , open source
    Open source
    The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

     (LGPL), a part of the Enlightenment Foundation Libraries
    Enlightenment Foundation Libraries
    The Enlightenment Foundation Libraries, or EFL, is a set of open source graphical software libraries that grew out of the Enlightenment window manager project and is developed by Enlightenment.org with some sponsorship from Samsung, Profusion and Free.fr...

    , a fast, stable, and scalable library that can be used to create both rich and fast applications that can be used on anything from every day desktop computers to small PDA's and set-top boxes.
  • FLTK
    FLTK
    FLTK is a cross-platform GUI library developed by Bill Spitzak and others. Made with 3D graphics programming in mind, it has an interface to OpenGL, but it is also suitable for general GUI programming....

    , open source
    Open source
    The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

     (LGPL), cross-platform toolkit designed to be small and fast.
  • FOX toolkit
    FOX toolkit
    The FOX toolkit is an open source, cross-platform widget toolkit, that is, a library of basic elements for building a graphical user interface...

    , open source
    Open source
    The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

     (LGPL), cross-platform toolkit.
  • GLUI
    GLUI
    OpenGL User Interface Library is a C++ user interface library based on the OpenGL Utility Toolkit which provides controls such as buttons, checkboxes, radio buttons, and spinners to OpenGL applications...

    , a very small toolkit written with the GLUT
    OpenGL Utility Toolkit
    The OpenGL Utility Toolkit is a library of utilities for OpenGL programs, which primarily perform system-level I/O with the host operating system. Functions performed include window definition, window control, and monitoring of keyboard and mouse input...

     library.
  • GTK+
    GTK+
    GTK+ is a cross-platform widget toolkit for creating graphical user interfaces. It is licensed under the terms of the GNU LGPL, allowing both free and proprietary software to use it. It is one of the most popular toolkits for the X Window System, along with Qt.The name GTK+ originates from GTK;...

    , open source
    Open source
    The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

     (LGPL), primarily for the X Window System, ported to and emulated under other platforms; used in the GNOME
    GNOME
    GNOME is a desktop environment and graphical user interface that runs on top of a computer operating system. It is composed entirely of free and open source software...

    , Rox
    Rox
    Rox or ROX may refer to the following:* Rox , an album by California punk band Supernova* Rox , London-based singer* Rox * Roxithromycin, with trade name ROX...

    , LXDE
    LXDE
    LXDE is a free and open source desktop environment for Unix and other POSIX compliant platforms, such as Linux or BSD. The goal of the project is to provide a desktop environment that is fast and energy efficient...

     and XFCE
    Xfce
    Xfce is a free software desktop environment for Unix and other Unix-like platforms, such as Linux, Solaris, and BSD – though recent compatibility issues have arisen with regard to BSD Unix platforms...

     desktop environments. The Windows port has support for native widgets.
  • gtkmm
    Gtkmm
    gtkmm is the official C++ interface for the popular GUI library GTK+. gtkmm is free software distributed under the GNU Lesser General Public License ....

    , C++ version of GTK+
  • IUP
    IUP (software)
    The IUP Portable User Interface is a computer software development kit that provides a portable, scriptable toolkit for GUI building using C and Lua. This allows rapid, zero-compile prototyping and refinement of deployable GUI applications....

    , open source
    Open source
    The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

     (MIT
    MIT License
    The MIT License is a free software license originating at the Massachusetts Institute of Technology . It is a permissive license, meaning that it permits reuse within proprietary software provided all copies of the licensed software include a copy of the MIT License terms...

    ), a minimalist GUI toolkit in ANSI C for MS Windows, UNIX and Linux.
  • Juce
    Juce
    JUCE is a free software, cross-platform C++ application framework, used for the development of GUI applications and plug-ins.The aim of JUCE is to allow software to be written such that the same source code will compile and run identically on Windows, Mac OS X and Linux platforms...

     provides GUI and widget set with the same look and feel in Microsoft Windows, X Window Systems, Mac OS X and Android
  • Lgi (software) (LGPL), Ports for Windows, Cygwin, Linux (Xlib), BeOS and Mac OS X (in progress). Compiles with VC++ 6 and 7, gcc 3 & 4 and Xcode 1.5. Cross platform and native widgets (including stand alone HTML engine), graphical dialog designer, translatable Unicode applications, IDE, and small binaries.
  • phoenix, a cross-platform toolkit intended to use C++0x as closely as possible in order to keep code simplified
  • Qt
    Qt (toolkit)
    Qt is a cross-platform application framework that is widely used for developing application software with a graphical user interface , and also used for developing non-GUI programs such as command-line tools and consoles for servers...

    , open source
    Open source
    The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

     (GPL
    GNU General Public License
    The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....

    , LGPL
    GNU Lesser General Public License
    The GNU Lesser General Public License or LGPL is a free software license published by the Free Software Foundation . It was designed as a compromise between the strong-copyleft GNU General Public License or GPL and permissive licenses such as the BSD licenses and the MIT License...

    ) available under Unix and Linux (with X Window), MS Windows, Mac OS X, embedded Linux, Windows CE systems and Symbian S60
    S60 (software platform)
    The S60 Platform is a software platform for mobile phones that runs on Symbian OS. It was created by Nokia, who made the platform open source and contributed it to the Symbian Foundation. S60 has been used by mobile device manufacturers including Siemens mobile, Lenovo, LG Electronics, Panasonic...

    ; also available in commercial versions under these platforms; used in KDE
    KDE
    KDE is an international free software community producing an integrated set of cross-platform applications designed to run on Linux, FreeBSD, Microsoft Windows, Solaris and Mac OS X systems...

    .
  • Quinta, a lightweight application framework with GUI widgets (BSD license)
  • Tk, a widget set accessed from Tcl
    Tcl
    Tcl is a scripting language created by John Ousterhout. Originally "born out of frustration", according to the author, with programmers devising their own languages intended to be embedded into applications, Tcl gained acceptance on its own...

     and other high-level script languages (interfaced in Python
    Python (programming language)
    Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

     as Tkinter
    Tkinter
    Tkinter is a Python binding to the Tk GUI toolkit. It is the standard Python interface to the Tk GUI toolkit and is Python's de-facto standard GUI, and is included with the standard Windows install of Python....

    ).
  • TnFOX
    TnFOX
    The TnFOX portability toolkit is a fork of the FOX GUI toolkit with most of the added code implementing orthogonal features such that applications developed for FOX can be easily recompiled for TnFOX...

    , open source
    Open source
    The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

     (LGPL), a portability toolkit.
  • Ultimate++
    Ultimate++
    Ultimate++ is a C++ cross-platform development framework which aims to reduce the code complexity of typical desktop applications by extensively exploiting C++ features.-Features:* currently supports Microsoft Windows, Linux/X11 and BSD/X11....

     is a free Win32/X11 application framework bundled with an IDE
    Integrated development environment
    An integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development...

     (BSD license)
  • The Visual Component Framework
    Visual Component Framework
    The Visual Component Framework is an open source project for development under Microsoft Windows and Apple Macintosh that is distributed under the BSD license. It is an advanced C++ application framework that makes it easier to produce GUI-based C++ applications. The framework is based on a...

     (VCF) is an open source
    Open source
    The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

     (BSD license) C++ framework project.
  • wxWidgets
    WxWidgets
    wxWidgets is a widget toolkit for creating graphical user interfaces for cross-platform applications. wxWidgets enables a program's GUI code to compile and run on several computer platforms with minimal or no code changes...

     (formerly wxWindows), open source
    Open source
    The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

     (relaxed LGPL), abstracts toolkits across several platforms for C++, Python
    Python (programming language)
    Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

     , Perl
    Perl
    Perl is a high-level, general-purpose, interpreted, dynamic programming language. Perl was originally developed by Larry Wall in 1987 as a general-purpose Unix scripting language to make report processing easier. Since then, it has undergone many changes and revisions and become widely popular...

    , Ruby
    Ruby (programming language)
    Ruby is a dynamic, reflective, general-purpose object-oriented programming language that combines syntax inspired by Perl with Smalltalk-like features. Ruby originated in Japan during the mid-1990s and was first developed and designed by Yukihiro "Matz" Matsumoto...

     and Haskell
    Haskell (programming language)
    Haskell is a standardized, general-purpose purely functional programming language, with non-strict semantics and strong static typing. It is named after logician Haskell Curry. In Haskell, "a function is a first-class citizen" of the programming language. As a functional programming language, the...

    .
  • YAAF
    YAAF
    YAAF stands for Yet Another Application Framework, a C++ framework or library which is designed to facilitate creating cross-platform applications which can be compiled and run under Microsoft Windows, Mac OS 9 and Mac OS X under Carbon, and X Window on Linux....

    , open source
    Open source
    The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

     (YAAF Open Source License), designed to facilitate creating cross-platform applications.
  • XForms
    XForms (toolkit)
    XForms is a GUI toolkit based on Xlib for the X Window System. It features a rich set of objects, such as buttons, scrollbars, and menus etc. In addition, the library is extensible and new objects can easily be created and added to the library....

    , the Forms Library for X
    X Window System
    The X window system is a computer software system and network protocol that provides a basis for graphical user interfaces and rich input device capability for networked computers...

  • XVT
    XVT
    XVT is a software development environment for building cross-platform GUI applications in C or C++. XVT allows developers to graphically lay out an application's GUI, and provides cross-platform libraries to aid development....

    , Extensible Virtual Toolkit
  • GraphApp
  • Zinc Application Framework
    Zinc Application Framework
    The Zinc Application Framework is a cross-platform application development framework, used for the development of GUI programs ....

    , cross-platform widget toolkit.

Based on OpenGL
OpenGL
OpenGL is a standard specification defining a cross-language, cross-platform API for writing applications that produce 2D and 3D computer graphics. The interface consists of over 250 different function calls which can be used to draw complex three-dimensional scenes from simple primitives. OpenGL...

  • GLUI
    GLUI
    OpenGL User Interface Library is a C++ user interface library based on the OpenGL Utility Toolkit which provides controls such as buttons, checkboxes, radio buttons, and spinners to OpenGL applications...

     is a GLUT-based C++ user interface library which provides controls such as buttons, checkboxes, radio buttons, and spinners to OpenGL applications.
  • Clutter (LGPL) is an open source software library for creating fast, visually rich and animated graphical user interfaces.
  • NUI
    Libnui
    libNUI or nui is a C++ framework designed for use in creating multiplatform applications with hardware accelerated user interfaces. OpenGL and Direct3D are used in conjunction with GPUs to create visual interfaces. The library is dual-licensed under the GPL and a commercial licence, for companies...

     is based on 3D rendered dynamic layouts. Build your visual interface as a composition of widgets and behaviors.

Based on Flash
Adobe Flash
Adobe Flash is a multimedia platform used to add animation, video, and interactivity to web pages. Flash is frequently used for advertisements, games and flash animations for broadcast...

  • Adobe Flash
    Adobe Flash
    Adobe Flash is a multimedia platform used to add animation, video, and interactivity to web pages. Flash is frequently used for advertisements, games and flash animations for broadcast...

     allows creating widgets running in most web browsers and in several mobile phones.
  • Adobe Flex
    Adobe Flex
    Adobe Flex is a software development kit released by Adobe Systems for the development and deployment of cross-platform rich Internet applications based on the Adobe Flash platform...

     provides high level widgets for building web user interfaces. Flash widgets can be used in Flex.
  • Flash and Flex widgets will run without a browser in the Adobe AIR runtime environment.
  • The Free Software
    Free software
    Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...

     reimplementation of Flash, GNU Gnash
    Gnash
    Gnash is a media player for playing SWF files. Gnash is available both as a standalone player for desktop computers and embedded device, as well as a plugin for several browsers. It is part of the GNU Project and is a Free and open-source alternative to Adobe Flash Player...

    , which is under development, can also run Flash widgets outside of a browser.
  • Independent software vendors propose to embed the flash application into an executable
    SWF2EXE Software
    SWF2EXE is a type of computer software which enables the creation of executable files from SWF files.SWF files were originally designed for use in a web browser and required the Flash plugin to be installed for the browser it is running on. However SWF files can be played outside of a web browser...

    : MDM Zinc, mProjector and more. Those solutions are cross-platform (depending on the vendors solution).

Based on XML
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....

  • GladeXML with GTK+
    GTK+
    GTK+ is a cross-platform widget toolkit for creating graphical user interfaces. It is licensed under the terms of the GNU LGPL, allowing both free and proprietary software to use it. It is one of the most popular toolkits for the X Window System, along with Qt.The name GTK+ originates from GTK;...

  • Trixul A lightweight XML/JavaScript/C++ toolkit, inspired by XUL, for use in desktop applications, and providing cross-platform, native support for Cocoa, .NET Forms, and Gtk+.
  • XAML
    XAML
    Extensible Application Markup Language is a declarative XML-based language created by Microsoft used for initializing structured values and objects. It is available under Microsoft's Open Specification Promise...

     with Silverlight
    Microsoft Silverlight
    Microsoft Silverlight is an application framework for writing and running rich Internet applications, with features and purposes similar to those of Adobe Flash. The run-time environment for Silverlight is available as a plug-in for web browsers running under Microsoft Windows and Mac OS X...

     or Moonlight
    Moonlight (runtime)
    Moonlight is a free and open source implementation of Microsoft's Silverlight for Linux and other Unix based operating systems, developed by the Mono Project...

  • XML User Interface
    XML User Interface
    XML User Interface is a Java and XML framework for building rich client, desktop and mobile applications. The framework can save much of the code typically needed to build an application with consequent savings in development time, maintenance costs and hence results in greater...

     A Java and XML toolkit for building Rich Internet Application
    Rich Internet application
    A Rich Internet Application is a Web application that has many of the characteristics of desktop application software, typically delivered either by way of a site-specific browser, via a browser plug-in, independent sandboxes, extensive use of JavaScript, or virtual machines...

    s.
  • XUL
    XUL
    In computer programming, XUL , the XML User Interface Language, is an XML user interface markup language developed by the Mozilla project. XUL operates in Mozilla cross-platform applications such as Firefox...

  • Rapicorn

Based on AJAX
Ajax (programming)
Ajax is a group of interrelated web development methods used on the client-side to create asynchronous web applications...

General
  • Acid.JS
  • AJAX Calendar.NET developer control
  • Backbase Enterprise Ajax Framework
    Backbase
    Backbase is a software company, founded in the Netherlands in 2003, which has offices in Amsterdam, the Netherlands and New York, United States. The core products of Backbase are Backbase Portal and Backbase Forms. In October 2011, industry analyst Gartner placed Backbase Portal in the Visionary...

  • Cappuccino (application development framework)
    Cappuccino (Application Development Framework)
    Cappuccino is an open source application development framework for developing web applications that look and feel like desktop applications on Mac OS X. Cappuccino was developed by University of Southern California graduates Francisco Tolmasky, Tom Robinson and Ross Boucher, who are also the three...

  • Dojo Toolkit
    Dojo Toolkit
    Dojo Toolkit is an open source modular JavaScript library designed to ease the rapid development of cross-platform, JavaScript/Ajax-based applications and web sites. It was started by Alex Russell, Dylan Schiemann, David Schontzler, and others in 2004 and is dual-licensed under the modified BSD...

  • jQuery UI
    JQuery UI
    jQuery UI is a JavaScript library that provides abstractions for low-level interaction and animation, advanced effects and high-level, themeable widgets, built on top of the jQuery JavaScript library, that can be used to build interactive web applications. It was released in September 2007...

  • SproutCore
    SproutCore
    SproutCore is an open-source JavaScript framework. Its goal is to allow developers to create web applications with advanced capabilities and a user experience comparable to that of desktop applications. When developing a SproutCore application, all code is written in JavaScript...

  • TIBCO General Interface, is a rich AJAX GUI components that include vector charts and is now also available through an open source BSD license.


RIA
Rich Internet application
A Rich Internet Application is a Web application that has many of the characteristics of desktop application software, typically delivered either by way of a site-specific browser, via a browser plug-in, independent sandboxes, extensive use of JavaScript, or virtual machines...

s
  • Adobe AIR
  • Rialto Toolkit
    Rialto Toolkit
    Rialto is a cross browser ajax based JavaScript widgets library. Because it is technology agnostic it can be encapsulated in JSP, JSF, Python, .Net or PHP graphic components....



Framework
  • Ample SDK
    Ample SDK
    Ample SDK is a lightweight JavaScript library intended to simplify cross-browser web application development. Although the Ample SDK allows you to do client-side scripting in a very similar way as jQuery and many other JavaScript libraries, its main purpose is to enable development of declarative...

  • Cooee
    Cooee framework
    The Cooee Web Application Framework is a Java framework for delivering "AJAX", or Web 2.0 applications. Cooee draws its strength by providing developers with a familiar API based on Java Swing whilst also completely abstracting the developer from having any knowledge of the Javascript...

     - discontinued
  • Echo
    Echo (framework)
    Echo is a web application framework that was created by the company NextApp. It originally started as a request-response web application framework that leveraged the Swing object model to improve the speed of application development...

  • Vaadin
    Vaadin
    Vaadin is an open source Web application framework for rich Internet applications. In contrast to JavaScript libraries and browser-plugin based solutions, it features a server-side architecture, which means that the majority of the logic runs on the servers. Ajax technology is used at the...

  • Mootools
    MooTools
    MooTools is a lightweight, object-oriented, web-application framework for JavaScript, written in JavaScript. It is released under the free, open-source MIT License...

  • Qooxdoo
    Qooxdoo
    qooxdoo is an open source Ajax web application framework. It is an LGPL- and/or EPL-licensed multipurpose framework that includes support for professional JavaScript development, a graphical user interface toolkit and high-level client-server communication.- Framework :qooxdoo is entirely...

     Could be understood as Qt for the Web
  • Script.aculo.us
    Script.aculo.us
    script.aculo.us is a JavaScript library built on the Prototype JavaScript Framework, providing dynamic visual effects and user interface elements via the Document Object Model ....

  • Swing (Java)
    Swing (Java)
    Swing is the primary Java GUI widget toolkit. It is part of Oracle's Java Foundation Classes — an API for providing a graphical user interface for Java programs....

  • UIZE JavaScript Framework
  • ZK (framework)
    ZK (framework)
    ZK is an open-source Ajax Web application framework, written in Java, that enables creation of rich graphical user interfaces for Web applications with no JavaScript and little programming knowledge....



Resource-based
  • Google Web Toolkit
    Google Web Toolkit
    Google Web Toolkit is an open source set of tools that allows web developers to create and maintain complex JavaScript front-end applications in Java. Other than a few native libraries, everything is Java source that can be built on any supported platform with the included GWT Ant build files...

  • Pyjamas
    Pyjamas (software)
    Pyjamas is a tool and framework for developing Ajax applications in Python. It contains a stand-alone Python-to-JavaScript compiler, an Ajax framework and widget toolkit, and through use of these components, developers can write comprehensive applications, to run in all major web browsers, without...

  • FBML - Facebook Markup Language
  • Web Application Markup Language
  • YUI (Yahoo! User Interface Library)
  • Sencha (formerly Ext JS)
    Ext (javascript library)
    Ext JS is a JavaScript library for building interactive web applications using techniques such as Ajax, DHTML and DOM scripting.Originally built as an add-on library extension of YUI by Jack Slocum, Ext includes interoperability with jQuery and Prototype...

  • DHTMLX
    Dhtmlx
    DHTMLX is a JavaScript GUI widget library for building dynamic web applications with desktop-like user experience and Ajax data loading. The library is released under both open-source GNU General Public License and commercial licenses...


Based on SVG
Scalable Vector Graphics
Scalable Vector Graphics is a family of specifications of an XML-based file format for describing two-dimensional vector graphics, both static and dynamic . The SVG specification is an open standard that has been under development by the World Wide Web Consortium since 1999.SVG images and their...

  • airWRX is an application framework that runs from a USB flash drive
    USB flash drive
    A flash drive is a data storage device that consists of flash memory with an integrated Universal Serial Bus interface. flash drives are typically removable and rewritable, and physically much smaller than a floppy disk. Most weigh less than 30 g...

    , and turns its PC host and other nearby PCs into a multi-screen, web-like digital workspace.
  • SPARK (software)
    Spark (software)
    Spark is a free open source instant messaging client for the XMPP XML-based protocol for queuing and exchanging audio and text messages and subscribed users lists over the Internet. It is written in Java. It can be used standalone or as an add-on or plugin to certain Web browsers. It appears...

     is an application framework built upon SVG.
  • Raphaël
    Raphaël (JavaScript Library)
    Raphaël is a cross-browser JavaScript library that draws vector graphics for web sites. It will use SVG for most browsers, but will use VML for older versions of Internet Explorer...

     is a javascript toolkit for SVG interfaces and animations

Based on Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

  • The Abstract Window Toolkit
    Abstract Window Toolkit
    The Abstract Window Toolkit is Java's original platform-independent windowing, graphics, and user-interface widget toolkit. The AWT is now part of the Java Foundation Classes — the standard API for providing a graphical user interface for a Java program.AWT is also the GUI toolkit for a...

     (AWT) is Sun Microsystems
    Sun Microsystems
    Sun Microsystems, Inc. was a company that sold :computers, computer components, :computer software, and :information technology services. Sun was founded on February 24, 1982...

    ' original widget toolkit for Java applications. It typically uses another toolkit on each platform on which it runs.
  • Swing
    Swing (Java)
    Swing is the primary Java GUI widget toolkit. It is part of Oracle's Java Foundation Classes — an API for providing a graphical user interface for Java programs....

     is a richer widget toolkit supported since J2SE
    Java Platform, Standard Edition
    Java Platform, Standard Edition or Java SE is a widely used platform for programming in the Java language. It is the Java Platform used to deploy portable applications for general use...

     1.2 as a replacement for AWT widgets. Swing is a lightweight toolkit, meaning it does not rely on native widgets.
  • OpenSwing
  • JavaFX
    JavaFX
    JavaFX is a software platform for creating and delivering rich Internet applications that can run across a wide variety of connected devices....

  • The Standard Widget Toolkit
    Standard Widget Toolkit
    The Standard Widget Toolkit is a graphical widget toolkit for use with the Java platform. It was originally developed by IBM and is now maintained by the Eclipse Foundation in tandem with the Eclipse IDE...

     (SWT) is a native widget toolkit for Java that was developed as part of the Eclipse project. SWT uses a standard toolkit for the running platform (such as the Windows API or GTK+) underneath.
  • Qt Jambi
    Qt Jambi
    Qt Jambi is a Java binding of the cross-platform application framework Qt. It enables Java developers to use Qt within Java programming language...

    , the official Java binding to Qt
    Qt (toolkit)
    Qt is a cross-platform application framework that is widely used for developing application software with a graphical user interface , and also used for developing non-GUI programs such as command-line tools and consoles for servers...

     from Trolltech. The commercial support and development has stopped

Based on Object Pascal
Object Pascal
Object Pascal refers to a branch of object-oriented derivatives of Pascal, mostly known as the primary programming language of Embarcadero Delphi.-Early history at Apple:...

  • VGScene is a suite of native Delphi/C++Builder/Lazarus components to develop rich applications for desktop like Adobe AIR or Microsoft WPF.
  • IP Pascal
    IP Pascal
    IP Pascal is an implementation of the Pascal programming language using the IP portability platform, a multiple machine, operating system and language implementation system.- Overview :...

     uses a graphics library built on top of standard language constructs. Also unusual for being a procedural toolkit that is cross platform (no callbacks or other tricks), and is completely upward compatible with standard serial input and output paradigms. Completely standard programs with serial output can be run and extended with graphical constructs.
  • Lazarus
    Lazarus (software)
    Lazarus is a free cross-platform IDE which provides a Delphi-like development experience for Pascal and Object Pascal developers. It is developed for, and supported by, the Free Pascal compiler. Since early 2008, Lazarus has been available for Microsoft Windows, several Linux distributions,...

     LCL (for Pascal, Object Pascal
    Object Pascal
    Object Pascal refers to a branch of object-oriented derivatives of Pascal, mostly known as the primary programming language of Embarcadero Delphi.-Early history at Apple:...

     and Delphi programming language via Free Pascal
    Free Pascal
    Free Pascal Compiler is a free Pascal and Object Pascal compiler.In addition to its own Object Pascal dialect, Free Pascal supports, to varying degrees, the dialects of several other compilers, including those of Turbo Pascal, Delphi, and some historical Macintosh compilers...

     compiler), a class library wrapping GTK+ 1.2, Gtk+ 2.x and the Windows API (Carbon, Windows CE and Qt4 support are all in development).
  • fpGUI
    FpGUI
    fpGUI, the Free Pascal GUI toolkit, is a cross-platform graphical user interface toolkit developed by Graeme Geldenhuys. fpGUI is open source and free software, licensed under a Modified LGPL license...

     is created with the Free Pascal
    Free Pascal
    Free Pascal Compiler is a free Pascal and Object Pascal compiler.In addition to its own Object Pascal dialect, Free Pascal supports, to varying degrees, the dialects of several other compilers, including those of Turbo Pascal, Delphi, and some historical Macintosh compilers...

     compiler. It doesn't rely on any large 3rdParty libraries and currently runs on Linux, Windows and Windows CE. A Carbon (Mac OS X) port is under way.
  • CLX
    Component Library for Cross Platform
    Component Library for Cross Platform , is a cross-platform visual component-based framework for developing Microsoft Windows and Linux applications. It is developed by Borland for use in its Kylix, Delphi, and C++ Builder software development environment....

     (Component Library for Cross-platform), used with Borland
    Borland
    Borland Software Corporation is a software company first headquartered in Scotts Valley, California, Cupertino, California and finally Austin, Texas. It is now a Micro Focus subsidiary. It was founded in 1983 by Niels Jensen, Ole Henriksen, Mogens Glad and Philippe Kahn.-The 1980s:...

    's Delphi
    Delphi
    Delphi is both an archaeological site and a modern town in Greece on the south-western spur of Mount Parnassus in the valley of Phocis.In Greek mythology, Delphi was the site of the Delphic oracle, the most important oracle in the classical Greek world, and a major site for the worship of the god...

    , C++ Builder
    C++ Builder
    C++Builder is a rapid application development environment, developed by Borland and owned by Embarcadero Technologies, for writing programs in the C++ programming language. C++Builder combines the Visual Component Library and IDE written in Delphi with a C++ compiler...

    , and Kylix
    Kylix programming tool
    Kylix was a compiler and integrated development environment formerly sold by Borland but later discontinued. It is a Linux version of the Borland Delphi software development environment and C++ Builder, which runs under Microsoft Windows. Continuing Delphi's classical Greek theme, Kylix is the name...

    , for producing cross-platform applications. It is based on Qt
    Qt (toolkit)
    Qt is a cross-platform application framework that is widely used for developing application software with a graphical user interface , and also used for developing non-GUI programs such as command-line tools and consoles for servers...

    , wrapped in such a way that its programming interface is similar to that of the VCL
    Visual Component Library
    VCL is a visual component-based object-oriented framework for developing Microsoft Windows applications. It was developed by Borland for use in, and tightly integrated with, its Delphi and C++Builder RAD tools...

     toolkit.

Based on Ada
Ada (programming language)
Ada is a structured, statically typed, imperative, wide-spectrum, and object-oriented high-level computer programming language, extended from Pascal and other languages...

  • RAPID is the Rapid Ada Portable Interface Design tool. Current implementations utilize the TASH binding to Tcl/Tk, the GNAT to JVM compiler, the Microsoft .NET framework, or GtkAda.
  • GWindows is a GUI Framework that mostly supports Windows development, but also has incomplete implementations for Mac OS X and Linux.
  • QtAda, the official Ada binding to Qt
    Qt (toolkit)
    Qt is a cross-platform application framework that is widely used for developing application software with a graphical user interface , and also used for developing non-GUI programs such as command-line tools and consoles for servers...

    .

Based on Curl

  • Curl is an integrated language intended to replace both HTML
    HTML
    HyperText Markup Language is the predominant markup language for web pages. HTML elements are the basic building-blocks of webpages....

     and a programming language such as Java
    Java (programming language)
    Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

     or JavaScript
    JavaScript
    JavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles....

    . It is designed to yield faster performance due to using compilation. Non-commercial use is free.

Based on Eiffel
Eiffel (programming language)
Eiffel is an ISO-standardized, object-oriented programming language designed by Bertrand Meyer and Eiffel Software. The design of the language is closely connected with the Eiffel programming method...

  • EiffelVision is a cross-platform, object-oriented framework for graphical user interface development.

Based on eC

  • The Ecere SDK includes an open source
    Open source
    The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

     (BSD License), cross-platform, object-oriented GUI toolkit and 2D/3D graphics engine, supporting a variety of graphics driver including X11, GDI, OpenGL, Direct3D, well suited for both applications and video games development.

Comparison

Toolkit Initial release Latest release Main language Bindings Tools License Pros Cons
Agar C BSD portable, unique across platforms, fast, low-level no property grid
Xaw
Xaw
Xaw is short for the X Window System Athena widget set, which is a set of widgets to implement simple user interfaces based upon the X Toolkit Intrinsics...

 / Athena
Project Athena
Project Athena was a joint project of MIT, Digital Equipment Corporation, and IBM to produce a campus-wide distributed computing environment for educational use. It was launched in 1983, and research and development ran until June 30, 1991, eight years after it began...

1983 C
AWT
Abstract Window Toolkit
The Abstract Window Toolkit is Java's original platform-independent windowing, graphics, and user-interface widget toolkit. The AWT is now part of the Java Foundation Classes — the standard API for providing a graphical user interface for a Java program.AWT is also the GUI toolkit for a...

1995 Java portable
Clutter 2006 C Perl, Python, C#, C++, Vala, Ruby LGPL GTK+
GTK+
GTK+ is a cross-platform widget toolkit for creating graphical user interfaces. It is licensed under the terms of the GNU LGPL, allowing both free and proprietary software to use it. It is one of the most popular toolkits for the X Window System, along with Qt.The name GTK+ originates from GTK;...

 and WebKit
WebKit
WebKit is a layout engine designed to allow web browsers to render web pages. WebKit powers Google Chrome and Apple Safari and by October 2011 held over 33% of the browser market share between them. It is also used as the basis for the experimental browser included with the Amazon Kindle ebook...

 embedding
Elementary
Enlightenment Foundation Libraries
The Enlightenment Foundation Libraries, or EFL, is a set of open source graphical software libraries that grew out of the Enlightenment window manager project and is developed by Enlightenment.org with some sponsorship from Samsung, Profusion and Free.fr...

2007 (EFL
Enlightenment Foundation Libraries
The Enlightenment Foundation Libraries, or EFL, is a set of open source graphical software libraries that grew out of the Enlightenment window manager project and is developed by Enlightenment.org with some sponsorship from Samsung, Profusion and Free.fr...

: 2001)
2011 C Javascript, Python, Vala, C++ editje, edje LGPL Portable, stable, fast, finger-friendly
FLTK
FLTK
FLTK is a cross-platform GUI library developed by Bill Spitzak and others. Made with 3D graphics programming in mind, it has an interface to OpenGL, but it is also suitable for general GUI programming....

1998 C++ Python (pyFLTK) FLUID (Fast Light UI Designer) LGPL (with an exception that allows static linking) fast, small enough to static link limited widget selection
FOX
FOX toolkit
The FOX toolkit is an open source, cross-platform widget toolkit, that is, a library of basic elements for building a graphical user interface...

1997 C++ Ruby (FXRuby), Python (FXPy), Eiffel (EiffelFox) consistent across platforms non-native look and feel
GLUI
GLUI
OpenGL User Interface Library is a C++ user interface library based on the OpenGL Utility Toolkit which provides controls such as buttons, checkboxes, radio buttons, and spinners to OpenGL applications...

C++
GNUstep
GNUstep
GNUstep is a free software implementation of Cocoa Objective-C libraries , widget toolkit, and application development tools not only for Unix-like operating systems, but also for Microsoft Windows. It is part of the GNU Project.GNUstep features a cross-platform, object-oriented development...

1994 2010 Objective-C Java, Ruby, Scheme Gorm (computing)
Gorm (computing)
Gorm is a graphical interface builder application. It is part of the developer tools of GNUstep. Gorm is the equivalent of Interface Builder that was originally found on NeXTSTEP, then OPENSTEP, and finally on Mac OS X.Gorm and Project Center represent the heart of the suite for GNUstep...

GPL for the apps, LGPL for the libs
GTK+
GTK+
GTK+ is a cross-platform widget toolkit for creating graphical user interfaces. It is licensed under the terms of the GNU LGPL, allowing both free and proprietary software to use it. It is one of the most popular toolkits for the X Window System, along with Qt.The name GTK+ originates from GTK;...

1997 2011-04-15 C C++ (gtkmm
Gtkmm
gtkmm is the official C++ interface for the popular GUI library GTK+. gtkmm is free software distributed under the GNU Lesser General Public License ....

), Perl (Gtk2-perl
Gtk2-perl
Gtk2-Perl is a set of wrappers for the Perl programming language around the GTK+ GUI library and the other GNOME platform libraries. GTK2-Perl is free software and licensed under the LGPL...

), Ruby (ruby-gtk2), Python (PyGTK
PyGTK
PyGTK is a set of Python wrappers for the GTK+ graphical user interface library. PyGTK is free software and licensed under the LGPL. It is analogous to PyQt and wxPython which are python wrappers for Qt and wxWidgets respectively. Its original author is the prominent GNOME developer James Henstridge...

), Haskell (Gtk2Hs), Java (java-gnome
Java-gnome
java-gnome is a set of language bindings for the Java programming language for use in the GNOME desktop environment. It is part of the official GNOME language bindings suite and provides a set of libraries allowing developers to write computer programs for GNOME using the Java programming language...

) (not available for Microsoft Windows), C# (Gtk#
Gtk Sharp
Gtk# is a set of .NET bindings for the GTK+ GUI toolkit and assorted GNOME libraries. The library facilitates building graphical GNOME applications using Mono or any other compliant CLR...

), PHP (PHP-GTK
PHP-GTK
PHP-GTK is a set of language bindings for PHP which allow GTK+ GUI applications to be written in PHP. PHP-GTK provides an object-oriented interface to GTK+ classes and functions.- History:...

), Ada (GTKAda), D (gtkD
GtkD
In computer programming, GtkD is a language binding of the GTK+ widget toolkit for the D programming language. As of 2011, the latest version is 1.4.1 which wraps GTK+ 2.20...

), FreeBasic (GladeToBac) and others via GTK-server
GTK-server
GTK-server is an open source project released under the GNU General Public License. The GTK-server project aims to bring Graphical User Interface programming to any interpreted language using the GIMP Tool Kit or XForms .-Philosophy:...

Glade
Glade Interface Designer
Glade Interface Designer is a graphical user interface builder for GTK+, with additional components for GNOME. In its third version, Glade is programming language–independent, and does not produce code for events, but rather an XML file that is then used with an appropriate binding .Glade is...

LGPL Portable, stable API, free licence
KWWidgets C++ Tcl/Tk, Python VisualStudio, gcc BSD portable
Motif
Motif (widget toolkit)
In computing, Motif refers to both a graphical user interface specification and the widget toolkit for building applications that follow that specification under the X Window System on Unix and other POSIX-compliant systems. It emerged in the 1980s as Unix workstations were on the rise, as a...

 / Lesstif
LessTif
LessTif is a free software reimplementation or clone of the Motif computer programming toolkit, developed by the Hungry Programmers.As opposed to Motif, which is distributed under a proprietary license that can require the payment of royalties, LessTif is distributed under the GNU Lesser General...

1980s C BX Pro
MWT Multi-Platform Widget Toolkit 2000-11-15 2009-10-20 C/C++ Ruby, Perl, Python, Java, Objective Caml WideStudio Application Builder, Eclipse/NAB MIT License very portable, many language bindings (incl. embeded systems)
Qt
Qt (toolkit)
Qt is a cross-platform application framework that is widely used for developing application software with a graphical user interface , and also used for developing non-GUI programs such as command-line tools and consoles for servers...

1991 2011-05-04 C++ Ruby (QtRuby
QtRuby
QtRuby is a cross-platform application framework Qt binding for Ruby. There is an additional set of bindings Korundum for KDE.QtRuby supports Linux and other flavours of Unix, as well as Mac OS X and Microsoft Windows.- QtRuby hello world :require 'Qt4'...

), Python (PyQt
PyQt
PyQt is a Python binding of the cross-platform GUI toolkit Qt. It is one of the alternatives for GUI programming in Python to Tkinter, which is bundled with Python. Other popular alternatives are PySide, PyGTK, and wxPython. Like Qt, PyQt is free software. PyQt is implemented as a Python...

, PySide
PySide
PySide is a Python binding of the cross-platform GUI toolkit Qt. It is one of the alternatives for GUI programming in Python to Tkinter, which is bundled with Python. Other popular alternatives are PyGTK, PyQt and wxPython. Like Qt, PySide is free software...

, PythonQt), Ada (QtAda), c# ( Qyoto), Java (Qt Jambi
Qt Jambi
Qt Jambi is a Java binding of the cross-platform application framework Qt. It enables Java developers to use Qt within Java programming language...

), Pascal ( FreePascal Qt4 ), Perl (Perl Qt4), PHP(PHP-Qt
PHP-Qt
PHP-Qt is an extension for PHP5 that aims to write software with the Qt toolkit. It provides an object-oriented interface to the Qt4 Framework and allows users to write Qt applications in the PHP language....

), Haskell (Qt Haskell), Lua (lqt, QtLua), Dao ( DaoQt), Tcl ( qtcl ), Common Lisp (CommonQt), D (QtD), Harbour (hbqt)
Qt Designer, Qt Creator
Qt Creator
Qt Creator is a cross-platform C++ integrated development environment which is part of the Qt SDK. It includes a visual debugger and an integrated GUI layout and forms designer. The editor's features includes syntax highlighting and autocompletion, but not tabs. Qt Creator uses the C++ compiler...

GPL, LGPL . Portable, rich widget set, GUI builder, free licence, stable API
SWT
Standard Widget Toolkit
The Standard Widget Toolkit is a graphical widget toolkit for use with the Java platform. It was originally developed by IBM and is now maintained by the Eclipse Foundation in tandem with the Eclipse IDE...

Java D (DWT
DWT
DWT may stand for:* Driving While Texting, Is the act of composing, sending, or reading text messages, email, or making other similar use of the internet on a mobile device, while operating a motor vehicle, such as an automobile, truck or train....

)
Eclipse portable
Swing
Swing (Java)
Swing is the primary Java GUI widget toolkit. It is part of Oracle's Java Foundation Classes — an API for providing a graphical user interface for Java programs....

1996 Java Eclipse, NetBeans portable (java), advanced widgets, GUI builders
Tk Tcl Tkinter
Tkinter
Tkinter is a Python binding to the Tk GUI toolkit. It is the standard Python interface to the Tk GUI toolkit and is Python's de-facto standard GUI, and is included with the standard Windows install of Python....

), Perl (Perl/Tk), Ada (TASH
Tash
TASH can have several meanings:*Shortened form of Natasha*Tash , a solo artist and former member of rap group "Tha Alkaholiks"*Teymour Tash was an Iranian royal minister.*Tash is a fictional deity in the Narnia stories....

), CommonLisp (LTk
LTK
LTK may refer to the*LTK Commune*Leukocyte receptor tyrosine kinase, in biochemistry, a member of the receptor tyrosine kinase family of cell surface receptors*Licence to Kill, 1989 James Bond film...

), Erlang (etk), ... >
BSD very portable, many language bindings
Ultimate++
Ultimate++
Ultimate++ is a C++ cross-platform development framework which aims to reduce the code complexity of typical desktop applications by extensively exploiting C++ features.-Features:* currently supports Microsoft Windows, Linux/X11 and BSD/X11....

2004 C++ TheIDE BSD portable, NTL, free license
VCF
Visual Component Framework
The Visual Component Framework is an open source project for development under Microsoft Windows and Apple Macintosh that is distributed under the BSD license. It is an advanced C++ application framework that makes it easier to produce GUI-based C++ applications. The framework is based on a...

C++ BSD free license
Windows Forms
Windows Forms
Windows Forms is the name given to the graphical application programming interface included as a part of Microsoft .NET Framework, providing access to native Microsoft Windows interface elements by wrapping the extant Windows API in managed code...

CLI languages CLI languages Expression, VisualStudio portability issues, no MVC
WPF
Windows Presentation Foundation
Developed by Microsoft, the Windows Presentation Foundation is a computer-software graphical subsystem for rendering user interfaces in Windows-based applications. WPF, previously known as "Avalon", was initially released as part of .NET Framework 3.0. Rather than relying on the older GDI...

 / XAML
XAML
Extensible Application Markup Language is a declarative XML-based language created by Microsoft used for initializing structured values and objects. It is available under Microsoft's Open Specification Promise...

 / Silverlight
././2007 CLI languages CLI languages Expression, VisualStudio portability issues
MFC / WinAPI 1992 / C++ VisualStudio not portable (but Wine
Wine (software)
Wine is a free software application that aims to allow computer programs written for Microsoft Windows to run on Unix-like operating systems. Wine also provides a software library, known as Winelib, against which developers can compile Windows applications to help port them to Unix-like...

 implementes it for X Window)
ATL
Active Template Library
The Active Template Library is a set of template-based C++ classes developed by Microsoft, intended to simplify the programming of Component Object Model objects. The COM support in Microsoft Visual C++ allows developers to create a variety of COM objects, OLE Automation servers, and ActiveX...

 / WTL
Windows Template Library
The Windows Template Library is a free software, object-oriented C++ template library for Win32 development. WTL was created by Microsoft employee Nenad Stefanovic for internal use and later released as an unsupported add-on to Visual Studio and the Win32 Framework SDK...

2004 C++ VisualStudio not portable
wxWidgets
WxWidgets
wxWidgets is a widget toolkit for creating graphical user interfaces for cross-platform applications. wxWidgets enables a program's GUI code to compile and run on several computer platforms with minimal or no code changes...

1992 2011-03-28 C++ C++ (native), Ruby (wxRuby), Python (wxPython
WxPython
-External links:* * at showmedo...

), Perl (wxPerl
WxPerl
wxPerl is a perl module by Mattia Barbon, allowing the creation of graphical user interface from Perl programming language. It is built as an XS-wrapper for the WxWidgets . Like perl and wxWidgets, wxPerl is free software....

), Java (wxJava, jwx!), Lua (wxLua), Tcl(wxTCL), JavaScript (GLUEscript), Smalltalk (wxSqueak), Erlang (wxErlang), Haskell (wxHaskell
WxHaskell
wxHaskell is a portable and native GUI library for Haskell, built on wxWidgets. It is often used by those wanting to develop a GUI with a functional language.- High-level GUI libraries built on top of wxHaskell :...

), C (wxC
WXC
WXC may refer to:*The IAAF World Cross Country Championships*Wrexham Central railway station...

), D (wxD), .NET Framework (wxNet), Common Lisp (wxCL
WXCL
WXCL is a country music radio station licensed to Pekin, Illinois and owned by JMP Media, a subsidiary of Triad Broadcasting.-History:104.9 signed on the air in the early 70's as WZRO with an oldies format...

), Basic (wxBasic
WxBasic
wxBasic is a free software / open-source software, cross-platform BASIC interpreter. As it is based on the easy-to-use syntax of the BASIC language, it is simple to learn and understand, allowing even novice programmers to write nice-looking applications for graphical environments like Windows and...

), BlitzMax (wxMax), Euphoria (wxEuphoria), Ada (wxAda), Pike (wxPike)
VisualWx, Boa Constructor, PythonCard, Spe, XRCed, wxGlade
WxGlade
wxGlade is a program for creating wxWidgets GUIs. It can generate layout code for C++, Lisp, Python and Perl.wxGlade is a GUI designer written in Python with the popular GUI toolkit wxPython which helps create wxWidgets/wxPython user interfaces. At the moment it can generate Python, C++, Lisp, Perl...

, wxFormBuilder
WxFormBuilder
wxFormBuilder is an open source GUI designer application for wxWidgets toolkit, which allows creating cross-platform applications. A streamlined, easy to use interface enables faster development and easier maintenance of software. It is written in C++....

, DialogBlocks ($), wxDesigner ($)
wxWindows License Portable, rich widget set, free licence, semantic similarities to MFC make migration easy.
XUL
XUL
In computer programming, XUL , the XML User Interface Language, is an XML user interface markup language developed by the Mozilla project. XUL operates in Mozilla cross-platform applications such as Firefox...

XML/JavaScript portable
YAAF
YAAF
YAAF stands for Yet Another Application Framework, a C++ framework or library which is designed to facilitate creating cross-platform applications which can be compiled and run under Microsoft Windows, Mac OS 9 and Mac OS X under Carbon, and X Window on Linux....

C++
SmartWin++
SmartWin++
SmartWin++ is a Windows GUI and SOAP programming library written in and for C++. It uses newer language features such as templates, type-safe conversions and the STL. Like many GUI libraries for Windows, SmartWin++ essentially wraps functions from the C based Windows API in objects, arguably...

C++
Juce
Juce
JUCE is a free software, cross-platform C++ application framework, used for the development of GUI applications and plug-ins.The aim of JUCE is to allow software to be written such that the same source code will compile and run identically on Windows, Mac OS X and Linux platforms...

2004 C++ Jucer GPL
XVT
XVT
XVT is a software development environment for building cross-platform GUI applications in C or C++. XVT allows developers to graphically lay out an application's GUI, and provides cross-platform libraries to aid development....

1989 2010 C AND C++ Design for C and Architect for C++ Cross-platform, rich widget set, C and C++ GUI builders, very stable
NUI
Libnui
libNUI or nui is a C++ framework designed for use in creating multiplatform applications with hardware accelerated user interfaces. OpenGL and Direct3D are used in conjunction with GPUs to create visual interfaces. The library is dual-licensed under the GPL and a commercial licence, for companies...

C++ Yapuka GPL and proprietary
CLX
Component Library for Cross Platform
Component Library for Cross Platform , is a cross-platform visual component-based framework for developing Microsoft Windows and Linux applications. It is developed by Borland for use in its Kylix, Delphi, and C++ Builder software development environment....

C++
InterViews
InterViews
InterViews is a native C++ toolkit for the X Window System developed by Mark Linton and his team at Stanford University and later Silicon Graphics. The last major release was InterViews 3.1 in 1993, and included the Unidraw drawing editor application framework which was the basis of John Vlissides'...

C++
VCL
Visual Component Library
VCL is a visual component-based object-oriented framework for developing Microsoft Windows applications. It was developed by Borland for use in, and tightly integrated with, its Delphi and C++Builder RAD tools...

Delphi
tekUI C / Lua
Toolkit Initial release Latest release Main language Bindings Tools License Pros Cons

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK