(Abfragesprache und Laufzeitumgebung für APIs)
GraphQL ist eine von Facebook entwickelte Technologie, mit der Clients genau die Daten abfragen können, die sie benötigen – nicht mehr und nicht weniger.
Im Gegensatz zu REST werden mehrere Datenquellen in einer einzigen, gezielten Anfrage abgefragt.
Merkmale von GraphQL
- Flexible Abfragen: Der Client bestimmt Struktur und Umfang der Daten
- Eine einzige Endpunkt-URL statt vieler einzelner Ressource-URLs
- Starke Typisierung: Klare Definition, welche Felder und Datentypen existieren
- Echtzeit-Unterstützung über Subscriptions (z. B. für Live-Updates)
Vorteile gegenüber REST
- Effizienz: Keine Über- oder Unterversorgung mit Daten
- Weniger Requests: Mehrere Ressourcen in einer Abfrage kombinierbar
- Bessere Entwicklererfahrung: Introspektion und Tools wie GraphiQL erleichtern das Arbeiten
- Konsistenz: Einheitliche Struktur für Abfragen und Antworten
Typische Anwendungsfälle
- Mobile Apps mit schwankender Internetverbindung (minimale Datenmengen)
- Dashboards, die Daten aus verschiedenen Quellen kombinieren
- Anwendungen mit komplexen, dynamischen UI-Komponenten
Marketing- & Business-Relevanz
- Schnellere Ladezeiten steigern die Nutzerzufriedenheit
- Flexibilität erleichtert die Umsetzung neuer Features
- Optimierte Performance kann Conversionrates positiv beeinflussen