Ein Graphical User Interface verbindet visuelles Design und Programmierfunktionen. Es bietet daher Schaltflächen, Drop-down-Menüs, Navigationsfelder, Suchfelder, Symbole und Widgets. Entwickler sollten dabei vor allem auf Nutzerfreundlichkeit achten. ÜblicheGUI-Komponenten sind:
- Eingabefelder
- Fenster
- Leinwände (Canvas)
- Rahmen
- Schaltflächen
- Schriftfelder
- Textfelder
Der Papierkorb ist ein gutes Beispiel für ein in den meisten Betriebssystemen zu findendes Element. Und er wird sowohl bei Windows als auch bei Mac grafisch als ein Papierkorb dargestellt. Dadurch ist dem Benutzer sofort klar wozu der Papierkorb dient: dem Löschen von Dokumenten und Dateien.
Beim Schreiben von GUIs setzten Entwickler auf ereignisbasiertes Programmieren, denn sie können nicht voraussagen, welche Tätigkeiten der Anwender ausführen wird. Daher kann man GUIs nicht linear programmieren, sondern muss sie so schreiben, dass ein Kommando nur dann ausgeführt wird, wenn der User das Signal dafür gibt.