GraphQL
# GraphQL

GraphQL ist eine Open-Source-Datenabfrage- und Manipulationssprache und ein Laufzeitsystem zum Beantworten von Abfragen mit vorhandenen Daten. GraphQL wurde 2012 von Facebook intern entwickelt und 2015 veröffentlicht. Am 7. November 2018 wurde das GraphQL-Projekt von Facebook in die neu gegründete GraphQL Foundation unter dem Dach der gemeinnützigen Linux Foundation ausgegliedert.

Es bietet eine effiziente und flexible Alternative zu SQL, ganz im Sinne von REST und Ad-hoc-Webservice-Architekturen. Als eine zustandslose Abfragesprache ermöglicht es Clients, die genaue Struktur der benötigten Daten zu definieren. Durch diese Parametrisierung wird hier jedoch vermieden, bei jeder Anfrage unnötig große Datenmengen zu übermitteln – ganz im Gegensatz zu vielen anderen implementierten REST-Schnittstellen. GraphQL unterstützt das Lesen, Schreiben und Abonnieren von Datenänderungen (Echtzeit-Updates).

Zu den wichtigsten GraphQL-Clients gehören Apollo Client und Relay. GraphQL-Server sind für mehrere Sprachen verfügbar, einschließlich Haskell, JavaScript, Python, Ruby, Java, C#, Scala, Go, Elixir, Erlang, PHP, R und Clojure.

Am 9. Februar 2018 wurde die GraphQL Schema Definition Language (SDL) in die Spezifikation aufgenommen.

