English
Polski
Français
日本
Español
Nederlands
Dansk
GraphQL ist eine Methode, um mit APIs zu kommunizieren, die als Alternative zu REST entwickelt wurde.
GraphQL ist eine Abfragesprache für APIs, die von Facebook und seiner Entwicklergemeinschaft entwickelt wurde. Sie wurde im Juni 2018 vorgestellt und ist inzwischen eine ausgereifte Technologie, die auf dem Markt weithin Anerkennung gefunden hat. Daher ist sie sehr bekannt und viele Unternehmen entscheiden sich für ihre Implementierung. Um dir zu sagen, wie sie sich unterscheidet, müssen wir uns ansehen, was immer noch am weitesten verbreitet ist: REST und worauf es basiert. GraphQL wird oft als Nachfolger von REST bezeichnet, weil es dessen Hauptprobleme löst. Wie du wahrscheinlich weißt, basiert es auf einer Art altem Systemdesign. Demnach ist jedes Datenmodell unter einer eigenen Adresse verfügbar. In einem Onlineshop für Kleidung können wir zum Beispiel Adressen für den Warenkorb, das Lager, die Produkte und viele andere haben.
Tatsächlich wird die Anzahl solcher Adressen nie klein sein, sondern im Gegenteil mit dem System wachsen. Bedenke, dass du für fast jede Adresse eine Reihe von Aufrufen erstellen musst, um Get-, Post-, Put- oder Delete-Anfragen zu bearbeiten. Das führt dazu, dass du eine große Anzahl von Adressen verwalten musst und eine noch größere Anzahl von Aufrufen benötigst, um die Daten zu erhalten. GraphQL funktioniert auf eine ganz andere Weise. Wir haben nur eine Adresse, eine einzige Quelle der Wahrheit, von der wir Daten abfragen können. Was wir bekommen, hängt allein von uns und der Art und Weise ab, wie wir die Abfrage konstruieren.
Das Hauptmerkmal von GraphQL ist die Möglichkeit, flexible Abfragen durchzuführen, in denen wir genau definieren, welche Daten wir von der API erhalten wollen. Außerdem bietet die Sprache die Möglichkeit, verschachtelte Abfragen zu erstellen, was ihr in diesen Bereichen einen noch größeren Vorteil gegenüber REST-APIs verschafft.
Eine Gemeinsamkeit zwischen REST und GraphQL ist die Unabhängigkeit von Plattformen und Programmiersprachen. Eine weitere Gemeinsamkeit ist die Idempotenz der gleichen Operationen. Sowohl bei der REST-Architektur als auch bei GraphQL können Operationen wie Abrufen, Ändern oder Löschen wiederholt verwendet werden, ohne dass sich das Ergebnis ändert.
Die grundlegenden Elemente von GraphQL sind: Mutation:
GraphQL verwendet eine eigene Syntax: SDL oder Schema Definition Language. Sie wird verwendet, um das Schema einer API und ihre Typen und Felder zu definieren. Typen werden mit dem Schlüsselwort type deklariert und Felder werden für jeden Objekttyp in Klammern hinzugefügt.
GraphQL ist zwar noch nicht so populär wie REST, aber seine Community wächst schnell. Einige große Unternehmen wie GitHub, Netflix, PayPal oder Shopify haben sich bereits dafür entschieden. Es ist nur eine Frage der Zeit, bis weitere folgen werden.