GraphQL

Open-Source-Datenabfrage- und Manipulationssprache und Laufzeitsystem zum Ausfüllen von Abfragen

GraphQL ist eine Open-Source-Datenabfrage- und Manipulationssprache und ein Laufzeitsystem zum Beantworten von Abfragen mit vorhandenen Daten.[1] GraphQL wurde 2012 von Facebook intern entwickelt und 2015 veröffentlicht.[2] 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.[3][4]

GraphQL

Basisdaten

Entwickler Facebook, und Community
Erscheinungsjahr 14. September 2015
Betriebssystem Cross-platform
Programmier­sprache Implementierungen u. a. in JavaScript, Ruby, Scala
Lizenz MIT
graphql.org

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).[5]

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

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

Bearbeiten

Einzelnachweise

Bearbeiten
  1. GraphQL: A query language for APIs. Abgerufen am 9. November 2018.
  2. GraphQL: A data query language. In: code.fb.com. 14. September 2015, abgerufen am 9. November 2018.
  3. Facebook’s GraphQL gets its own open-source foundation. In: techcrunch.com. Abgerufen am 9. November 2018.
  4. The Linux Foundation Announces Intent to Form New Foundation to Support GraphQL. In: linuxfoundation.org. 6. November 2018, archiviert vom Original (nicht mehr online verfügbar) am 28. Januar 2019; abgerufen am 9. November 2018.  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/www.linuxfoundation.org
  5. GraphQL. Archiviert vom Original (nicht mehr online verfügbar) am 18. Juli 2018; abgerufen am 9. November 2018.  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/facebook.github.io
  6. Apollo Client. In: apollographql.com. Abgerufen am 9. November 2018.
  7. Relay · A JavaScript framework for building data-driven React applications. In: github.io. Abgerufen am 9. November 2018 (englisch).
  8. Graphene-Python. In: graphene-python.org. Abgerufen am 9. November 2018.
  9. Absinthe: Home. In: absinthe-graphql.org. Abgerufen am 9. November 2018 (englisch).
  10. [RFC] GraphQL Schema Definition Language (SDL) by leebyron · Pull Request #90 · facebook/graphql. In: github.com. Abgerufen am 9. November 2018 (englisch).