GraphQL

Open-Source-Datenabfrage- und Manipulationssprache und Laufzeitsystem zum Ausfüllen von Abfragen
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 2. April 2019 um 18:18 Uhr durch 31.47.86.238 (Diskussion) (Der "Vergleich" mit REST hinkt. Eine zustandslose Abfragesprache gehört per Definition zu den REST-Schnittstellen. Einen Vorteil bietet die Abfragesprache nur, wenn der Client flexibel beliebige Daten abrufen möchte, aber der Programmierer zu faul ist, die Serverseite so flexibel zu implementieren. Der gleiche Effekt wäre prinzipiell auch ohne GraphQL erreichbar.). Sie kann sich erheblich von der aktuellen Version unterscheiden.

GraphQL ist eine Open-Source-Datenabfrage- und Manipulationssprache und ein Laufzeitsystem zum Ausfüllen 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 2015
Betriebssystem Cross-platform
Programmier­sprache Implementierungen in JavaScript, Ruby, Scala, others.
Lizenz MIT
https://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 -- ganz im Gegensatz zu vielen anderen implementierten REST-Schnittstellen --, bei jeder Anfrage unnötig große Datenmengen zu übermitteln.

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

  1. GraphQL: A query language for APIs. Abgerufen am 9. November 2018.
  2. GraphQL: A data query language - Facebook Code. In: Facebook Code. 14. September 2015 (fb.com [abgerufen am 9. November 2018]).
  3. Facebook’s GraphQL gets its own open-source foundation. In: TechCrunch. (techcrunch.com [abgerufen am 9. November 2018]).
  4. The Linux Foundation Announces Intent to Form New Foundation to Support GraphQL - The Linux Foundation. In: The Linux Foundation. 6. November 2018 (linuxfoundation.org [abgerufen am 9. November 2018]).
  5. GraphQL. Abgerufen am 9. November 2018.
  6. Apollo Client. Abgerufen am 9. November 2018.
  7. Relay · A JavaScript framework for building data-driven React applications. Abgerufen am 9. November 2018 (englisch).
  8. Graphene-Python. Abgerufen am 9. November 2018.
  9. Absinthe: Home. Abgerufen am 9. November 2018 (englisch).
  10. [RFC] GraphQL Schema Definition Language (SDL) by leebyron · Pull Request #90 · facebook/graphql. Abgerufen am 9. November 2018 (englisch).