# Liste von GUI-Bibliotheken

Liste von GUI-Toolkits und Grafikbibliotheken.

## Sprachspezifische Bibliotheken
### C

| Toolkit | älteste bekannte Veröffentlichung | jüngste bekannte Veröffentlichung | Bindungen | Plattformen | GUI-Builder | Lizenz | Bemerkungen |
| Allegro | 1995 | Version 5.2.9.1 Jan. 2024 | Ada, C++, C#, Common Lisp, D, Lua, Go, Mercury, Pascal, Perl, Python, Scheme | Windows, X11, macOS, iOS | | zlib-Lizenz | Spiele-Bibliothek mit eigenen rudimentären GUI-Elementen |
| Xaw (Athena Widgets) | 1983 | Version X11R7.7 Jun. 2012 | | X11 | | individuelle freie Lizenz ähnlich MIT ohne Copyleft | rendert mit Xlib und Xt, verschiedene Nachimplementierungen mit spezifischen Vorteilen sind z. B. hier gelistet |
| CDE (Common Desktop Environment) | 1993 | Version 2.5.2 Nov. 2023 | | X11 | | LGPL seit Aug. 2012 | rendert mit Xm |
| Cpw | | Version 1.0 Beta Feb. 2002 | | alle, auf denen OpenGL verfügbar ist | | Lua | Toolkit für OpenGL, vergleichbar mit GLUT, freeglut oder OpenGLUT |
| Clutter | 2006 | Version 1.26.2 Mai. 2017 | C++, C#, Perl, Python, Ruby, Vala | alle, auf denen OpenGL verfügbar ist | | LGPL | Szenengraph-Programmbibliothek für OpenGL |
| freeglut | 1999 | Version 3.0.0 Mrz. 2015 | | alle, auf denen OpenGL verfügbar ist | individuelle freie Lizenz | X-Consortium | Toolkit für OpenGL, siehe auch Cpw, GLUT oder OpenGLUT |
| Geeonx | | Version 0.99 Februar 2020 | C | Linux, macOS, Windows | GeeonxCreator | proprietär | rendert mit SDL |
| GLFW | | Version 3.3.2 Jan. 2020 | Ada, C#, Common Lisp, Crystal, D, Dart, Delphi, Duktape, Go, Harbour, Haskell, Java, Julia, LuaJIT, Nimrod, Node.js, OCaml, Perl, Python, Rebol, Red, Ruby, Rust, Scheme | Windows, X11 | | zlib | Toolkit für OpenGL |
| GLUT (OpenGL Utility Toolkit) | | Version 3.7 Dez. 1998 | | alle, auf denen OpenGL verfügbar ist | | proprietär | Toolkit für OpenGL, siehe auch Cpw, freeglut oder OpenGLUT |
| GTK | 1997 | Version 4.16.4 Nov. 2024 | Ada, C++, C#, D, Fortran, FreeBasic, Go, Haskell, Java, JavaScript, Lua, OCam, Perl, PHP, Python, R, Ruby und andere via GTK-server | Windows, X11, macOS | Glade | LGPL | rendert mit Cairo und Pango oder OpenGL |
| Motif/LessTif | 1980s | V. 2.3.4 Mai 2009/ V. 0.95.2 Okt. 2012 | | X11 | BX Pro | LGPL (ab Version 2.3.4)/LGPL | rendert mit Xlib und Xt |
| OpenGLUT | | Version 0.6.3 Mrz. 2005 | | alle, auf denen OpenGL verfügbar ist | | individuelle freie Lizenz ähnlich MIT ohne Copyleft | Toolkit für OpenGL, siehe auch Cpw, freeglut oder GLUT |
| Open Look (OpenWindows, OLIT, XView) | späte 1980er | open source V. 1.0 Jun. 2005 | | X11 | | BSD | rendert mit Xlib und Xt, 1993 zugunsten des CDE aufgegeben |
| XForms | 1995 | Version 1.2.4 Jun. 2014 | | X11, macOS (,Windows, OS/2) | fdesgin | LGPL (ab Version 1.0.0, 2002) | rendert mit Xlib |
| SDL (Simple DirectMedia Layer) | 1999 | Version 2.30.9 Nov. 2024 | Ada, C#, Lua, OCaml, Pascal, Python | Windows, Mac OS, macOS, Android, inoffiziell viele Weitere | | LGPL (zlib ab Version 2.0) | rendert mit DirectX, OpenGL, Xlib mit framebuffer, EGL oder Anderen |
| GraphApp | | Version 3.64 Nov. 2010 | | Windows, macOS | | individuelle freie Lizenz mit Copyleft | |

### C++

* BCG - Business Components Gallery (bcgsoft.com ist partiell als MFC-Erweiterung im Visual Studio seit VC2008 enthalten)
* Copperspice, Open Source (LGPL V2.1), cross-platform
* CEGUI
* Crazy Eddie’s GUI
* Disko (Bibliothek)
* FLTK
* FOX-Toolkit
* GLOW Toolkit
* GLT
* GLUI
* Game Gui
* gtkmm (ehemals GTK--)
* Guiliani (guiliani.de plattformunabhängige proprietäre Bibliothek von TES Electronic Solutions, entwickelt für den Einsatz auf Embedded Systems)
* JUCE (juce.com GUI-Bibliothek basierend auf OpenGL-Rendering)
* MyGUI
* Nana C++ GUI Library (letzte Version 1.6.2 aus Aug. 2018)
* NoesisGUI eine XAML basierte Multi-Plattform Spiele UI, die sich gut zur Entwicklung eines professionellen GUI eignet
* NUI (ehemals NGL, letzte Version aus Nov. 2014)
* Qt, kommerziell und als Open Source (GPL, LGPL) verfügbar unter Unix und Linux (mit X11 oder Wayland), MS Windows (Desktop, CE und Phone 8), macOS, iOS, Android, BlackBerry 10 und embedded Linux; wird in der KDE-, Trinity-, LXQt- und Lumina-Desktop Umgebung verwendet, wurde auch in Ubuntus Unity-Shell eingesetzt
* SFML
* SmartWin++
* TGUI (Texus’ Graphical User Interface, basiert auf SFML)
* U++ (Ultimate++), ein freies Win32/X11 Anwendungs-Framework kombiniert mit einer IDE (BSD-Lizenz)
* µGFX
* Visual Component Framework
* Wt (Web Toolkit)
* Win32++ ist ein Open Source (wörtlich identisch zur MIT-Lizenz) C++ Framework Projekt.
* Windows Forms (Teil des .NET Frameworks)
* wxWidgets (ehemals wxWindows), Open Source (lockere LGPL), für C++, abstrahiert Toolkits über mehrere Plattformen, Python, Perl, Ruby und Haskell

### D

* gtkD (GTK+)
* wxd (wxWidgets)
* QtD (Qt)

### Fortran

* X/Winteracter kommerziell, für Windows, Linux und macOS (nur für F9x-Compiler, die ältere, für F77-Compiler geeignete Version heißt Interacter)
* GINO kommerziell, für Windows (9x/NT/2000/XP), Linux, Solaris (SPARC, x86(_64)), HP-UX und OpenVMS
* pilib (Platform Independent Library for Fortran 90/95): portable Bibliothek zum Erstellen von GUIs, für binären Dateizugriff etc. (Unter der GNU LGPL publiziert).
* JAPI eine plattform- und sprachenübergreifende Erweiterung für graphische Benutzerschnittstellen

### FreeBasic

* GTK (Code Sketcher GladeToBac)
* wx-c (wxWidgets)
* FLTK (FLTK C for FreeBASIC)

### Java

* AWT
* Swing
* JavaFX
* SWT
* Qt Jambi Qt für Java
* Java Gnome GTK+ für Java
* GWT
* Vaadin

### .NET CLI

| Toolkit | älteste bekannte Veröffentlichung | jüngste bekannte Veröffentlichung | Plattformen | GUI-Builder | Lizenz | Bemerkungen |
| ETO.Forms | Jun. 2011 | 2.4.1 Feb. 2018 | Windows, X11, macOS, iOS, Android, Windows 8.x/Windows Phone | | BSD-3 | Fassade für ♦ Windows Forms (basierend auf GDI/GDI+ oder Direct2D) und WPF in .NET unter Windows, ♦ GTK# (Gtk2 und Gtk3) in MONO unter X11, ♦ Aqua/Cocoa (basierend auf MonoMac 32 Bit, MonoMac 64 Bit oder Xamarin.Mac) in MONO unter macOS, ♦ iOS in MONO, ♦ Android in MONO (Okt. 2017 noch in der Entwicklung) und ♦ Windows 8.x/Windows Phone in .NET unter WinRT (Okt. 2017 noch in der Entwicklung) |
| GTK# (Mono- und .NET-Sprachbindung für GTK+) | | | | | | |
| NoesisGUI (Mono- und .NET-Sprachbindung für NoesisGUI) | | Version 2.1.0 März 2018 | Windows, X11, iOS, iOS, Android, UWP | Blend | Noesis Technologies | freie Lizenz INDIE für Entwickler mit Bruttoumsatz <100T€ pro Jahr, rendert mit Direct3D, OpenGL, UE4 oder Unity, eigentlich eine XAML basierte Multi-Plattform Spiele UI, die sich aber gut zur Entwicklung eines professionellen GUI eignet |
| Qyoto (.NET-Sprachbindung für Qt, obsolet) | | | | | | |
| QtSharp (Mono/.NET-Sprachbindung für Qt) | | | | | | |
| Windows Forms für .NET | .NET 1.0 Feb. 2002 | .NET 4.5 Jul. 2015 | Windows | Visual Studio, SharpDevelop | Microsoft | seit .NET Framework 1.0 Teil des .NET Frameworks, wird nicht mehr weiterentwickelt aber gepflegt, rendert via System.Drawing mit GDI und GDI+ |
| Windows Forms für MONO | MONO 1.0 Jun. 2004 | MONO 4.0.2 Jun. 2015 | Windows, X11, macOS | | open source | seit MONO 1.0 Teil des MONO-Frameworks, wird nicht mehr weiterentwickelt aber gepflegt, rendert via System.Drawing mit Xlib für X11 oder Win32 für Windows |
| WPF (Windows Presentation Foundation) | 2006 | .NET 4.5 Jul. 2015 | Windows | Visual Studio, SharpDevelop, Microsoft Expression | Microsoft | seit .NET Framework 3.0 Teil des .NET-Frameworks, rendert mit DirectX bzw. Direct3D |
| XrwXAML (X11 WPF clone) | Version 0.7 Dez. 2014 | Version 0.9 Okt. 2015 | X11 | | open source | rendert mit Xrw |
| wx.net (.NET-CLI-Sprachbindung für wxWidgets) | | | | | | |
| Xrw (X11 Roma Widget Set) | Version 0.1 Jan. 2014 | Version 0.9 Okt. 2015 | X11 | | open source | rendert mit Xlib |

### Pascal

* LCL (Lazarus-Komponentenbibliothek, erzeugt nativen Code über Widgetsets)

### Perl

* Perl/Tk (Binding für Tk)
* Win32 (Bibliothek für Windows API)
* WxPerl (Binding für WxWidgets)
* perl-Gtk3 (Binding für GTK+3)
* Prima (Binding für Prima Tk)
* Perl/Qt (Bindings für Qt)

### PHP

* PHP-GTK (GTK+)
* PHP-Qt (Qt)
* wxPHP (wxWidgets)

### Python

* wxPython (Wrapper des wxWidgets-Toolkits)
* PyGTK (Wrapper des in C geschriebenen GTK)
* PyQt (Qt für Python)
* PySide (Nokias eigene Qt Bindings für Python)
* PyFLTK (Wrapper der FLTK-Bibliothek)
* Kivy
* Tkinter (Wrapper des Tk-Toolkits)

### Ruby

* GUI:TK
* GTK
* FxRuby
* WxRuby

### Tcl

* Tk
* FLTK
* GTK

## Bibliotheken für POSIX-Systeme

(Unix-, unixoide und andere POSIX-Systeme, z. B. Solaris, BSD oder GNU/Linux)
* Motif (X Window System)
* KDELibs (Erweiterung der Qt-Bibliothek)

## Bibliotheken für Microsoft Windows

* Windows API
* MFC Microsoft Foundation Classes
* ATL Active Template Library
* WTL Windows Template Library
* VCL Visual Component Library (entwickelt von Borland)
* CLX Component Library for Cross Platform Development (auch für Linux)
* Windows Forms (.NET)
* WPF Windows Presentation Foundation .NET 3.0
* Xtreme Toolkit kommerziell

## Bibliotheken für Mac OS und macOS

* das Cocoa Application Kit, das u. a. neben der Cocoa Foundation Library Bestandteil der Cocoa-API ist und die präferierte Technik darstellt (Aqua)
* der ColorSync Manager (vgl. ColorSync) aus dem Application Services Framework bzw. Quartz 2D (macOS)
* die Carbon-HIToolbox (Mac OS)
* QuickDraw (Mac OS, GS/OS) („legacy“; d. h. von der Verwendung für macOS-Anwendungen wird abgeraten)

## Bibliotheken für Amiga

* intuition.library, später gadtools.library (die Amiga Workbench baut auf diese Bibliothek auf)
* BOOPSI (objektorientierte Schnittstelle zu intuition.library)
* EasyObject (Maxon Compilersystem)
* StormWIZARD (GUI Editor, jetzt Public Domain)
* Reaction (früher ClassAct, Erweiterung von BOOPSI mit ReActor als GUI-Designer, AmigaOS)
* MUI (MagicUserInterface – Erweiterung der intuition.library, insbesondere bei MorphOS für Ambient, als „Zune“ bei AROS)
* feelin (Open Source)

## Sonstige

* GNUstep (Crossplatform-Implementation der Cocoa-/OpenStep-API)
* GEM (u. a. Atari und DOS)
* GEOS („Graphic Environment Object System“), eine Familie von Benutzoberflächen für C64/128, Apple II, PDAs und Smartphones, sowie ×86-Computer
* CTK (Contiki-Toolkit)
* S60 eine von Nokia entwickelte Benutzeroberfläche für Smartphones, die auf Symbian OS aufsetzt

## Exotische Benutzeroberflächen

Neben den klassischen GUIs hat es immer wieder neue und ungewöhnliche Ansätze gegeben. Hier sind ein paar dieser Exoten und Pioniere:
* N/JOY
* Magic Cap, ein Betriebssystem für kleine, tragbare Geräte. Magic Cap verwendet die Metapher eines Raumes, aber erweitert sie. Man kann die „Räume“ verlassen und auf die „Straße“ gehen. Dienste anderer Unternehmen (z. B. AOL) erscheinen als Gebäude.
* Karotte, eine GUI für DOS, auch hier sind die Oberflächen in Räume aufgeteilt und die Programme sind Objekte darin.
* Microsoft Bob