GUI-Toolkit
# GUI-Toolkit

Ein GUI-Toolkit (englisch toolkit ‚Werkzeugsatz‘, auch widget toolkit, widget library oder UX library genannt) ist eine Programmbibliothek, die zur Programmierung grafischer Benutzeroberflächen in Desktop-Anwendungen dient. Ein GUI-Toolkit stellt einen Satz an Steuerelementen (Widgets) zur Verfügung.

## Beschreibung

GUI-Toolkits erleichtern einem Programmierer das Erstellen grafischer Benutzeroberflächen, da er sich nicht um das Entwickeln von Widgets oder um die Schnittstelle zur Systemumgebung kümmern muss. So braucht ein Entwickler typische Aufrufe der Plattform nicht selbst zu programmieren, da diese vom GUI-Toolkit bereitgestellt werden.

Darüber hinaus stellen einige GUI-Toolkits auch zusätzliche Programmierwerkzeuge und Hilfsmittel wie Entwicklungsumgebungen bereit, die das Gestalten grafischer Oberflächen und Dialoge vereinfachen. Ein bekanntes Beispiel ist der Designer des Qt-Toolkits.

Viele GUI-Toolkit besitzen eine eigene Rendering-Engine, die für das Zeichnen der Steuerelemente zuständig ist, und einen eigenen Layoutmanager, der für das Anordnen der Elemente zuständig ist. Alternativ wird die darunterliegende Plattform (z. B. das Betriebssystem) für diese Aufgaben herangezogen.

## Bekannte GUI-Toolkits

Zu den bekannten GUI-Toolkits gehören:

plattformübergreifend:

* GTK (in Java z. B. via SWT)
* Qt
* wxWidgets
* Tk
* FLTK
* Swing (in Java)
* FireMonkey (FMX, in Delphi)
* Lazarus Component Library (in Free Pascal)
* Flutter

Windows:

* Universal Windows Platform (UWP)
* Microsoft Foundation Classes (MFC)
* Visual Component Library (VCL, in Delphi)
* Win32 (WinAPI)
* Windows Presentation Foundation (WPF)
* Windows Forms (.NET)

macOS:

* Cocoa
* SwiftUI
