GraphQL
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 |
Programmiersprache | 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]
Einzelnachweise
- GraphQL: A query language for APIs. Abgerufen am 9. November 2018.
- GraphQL: A data query language. In: code.fb.com. 14. September 2015, abgerufen am 9. November 2018.
- Facebook’s GraphQL gets its own open-source foundation. In: techcrunch.com. Abgerufen am 9. November 2018.
- The Linux Foundation Announces Intent to Form New Foundation to Support GraphQL. In: linuxfoundation.org. 6. November 2018, abgerufen am 9. November 2018.
- GraphQL. (Nicht mehr online verfügbar.) Archiviert vom Original 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.
- Apollo Client. In: apollographql.com. Abgerufen am 9. November 2018.
- Relay · A JavaScript framework for building data-driven React applications. In: github.io. Abgerufen am 9. November 2018 (englisch).
- Graphene-Python. In: graphene-python.org. Abgerufen am 9. November 2018.
- Absinthe: Home. In: absinthe-graphql.org. Abgerufen am 9. November 2018 (englisch).
- [RFC] GraphQL Schema Definition Language (SDL) by leebyron · Pull Request #90 · facebook/graphql. In: github.com. Abgerufen am 9. November 2018 (englisch).