Zum Inhalt springen

„GraphQL“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
Keine Bearbeitungszusammenfassung
+ GND / Archiv-Bot bestätigt
 
(28 dazwischenliegende Versionen von 22 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:

{{Infobox Software
{{Infobox Software
|Name = GraphQL
|Name =
|Logo = [[Datei:GraphQL Logo.svg|225px]]
|Logo = [[Datei:GraphQL Logo.svg|225px]]
|Screenshot =
|Screenshot =
|Beschreibung =
|Beschreibung =
|Maintainer =
|Maintainer =
|Hersteller = [[Facebook]], und community
|Hersteller = [[Facebook]], und Community
|Erscheinungsjahr = 2015
|Erscheinungsjahr =
|AktuelleVersion =
|AktuelleVersion =
|AktuelleVersionFreigabeDatum = October 2016<ref name="graphql_release">{{cite web | url=https://github.com/facebook/graphql/releases/tag/October2016 | title=GraphQL October2016 Release Notes | accessdate=2018-01-16}}</ref>
|AktuelleVersionFreigabeDatum = October 2016<ref name="graphql_release">{{Internetquelle |url=https://github.com/facebook/graphql/releases/tag/October2016 |titel=GraphQL October2016 Release Notes |werk=github.com |abruf=2018-01-16}}</ref>
|AktuelleVorabVersion =
|AktuelleVorabVersion =
|AktuelleVorabVersionFreigabeDatum =
|AktuelleVorabVersionFreigabeDatum =
|Betriebssystem = [[Cross-platform]]
|Betriebssystem = [[Cross-platform]]
|Programmiersprache = Implementations in [[JavaScript]], [[Ruby (Programmiersprache)|Ruby]], [[Scala (Programmiersprache)|Scala]], others.
|Programmiersprache = Implementierungen u.&nbsp;a. in [[JavaScript]], [[Ruby (Programmiersprache)|Ruby]], [[Scala (Programmiersprache)|Scala]]
|Kategorie =
|Kategorie =
|Lizenz =
|Lizenz = [[MIT-Lizenz|MIT]]
|Deutsch =
|Deutsch =
|Website = https://graphql.org
|Website = [https://graphql.org/ graphql.org]
|Dateien =
|Dateien =
}}
}}


'''GraphQL''' ist eine Open-Source-Datenabfrage- und Manipulationssprache und ein Laufzeitsystem zum Ausfüllen von Abfragen mit vorhandenen Daten.<ref>{{Internetquelle |url=https://graphql.org/ |titel=GraphQL: A query language for APIs. |zugriff=2018-11-09}}</ref> GraphQL wurde 2012 von [[Facebook]] intern entwickelt und 2015 veröffentlicht.<ref>{{Literatur |Titel=GraphQL: A data query language - Facebook Code |Sammelwerk=Facebook Code |Datum=2015-09-14 |Online=https://code.fb.com/core-data/graphql-a-data-query-language |Abruf=2018-11-09}}</ref> 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.<ref>{{Literatur |Titel=Facebook’s GraphQL gets its own open-source foundation |Sammelwerk=TechCrunch |Online=https://techcrunch.com/2018/11/06/facebooks-graphql-gets-its-own-open-source-foundation/?guccounter=1 |Abruf=2018-11-09}}</ref><ref>{{Literatur |Titel=The Linux Foundation Announces Intent to Form New Foundation to Support GraphQL - The Linux Foundation |Sammelwerk=The Linux Foundation |Datum=2018-11-06 |Online=https://www.linuxfoundation.org/press-release/2018/11/intent_to_form_graphql/ |Abruf=2018-11-09}}</ref>
'''GraphQL''' ist eine [[Open Source|Open-Source]]-[[Abfragesprache|Datenabfrage- und Manipulationssprache]] und ein Laufzeitsystem zum Beantworten von Abfragen mit vorhandenen Daten.<ref>{{Internetquelle |url=https://graphql.org/ |titel=GraphQL: A query language for APIs. |abruf=2018-11-09}}</ref> GraphQL wurde 2012 von [[Facebook]] intern entwickelt und 2015 veröffentlicht.<ref>{{Internetquelle |url=https://code.fb.com/core-data/graphql-a-data-query-language |titel=GraphQL: A data query language |werk=code.fb.com |datum=2015-09-14 |abruf=2018-11-09}}</ref> 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.<ref>{{Internetquelle |url=https://techcrunch.com/2018/11/06/facebooks-graphql-gets-its-own-open-source-foundation/ |titel=Facebook’s GraphQL gets its own open-source foundation |werk=techcrunch.com |abruf=2018-11-09}}</ref><ref>{{Internetquelle |url=https://www.linuxfoundation.org/press-release/2018/11/intent_to_form_graphql/ |titel=The Linux Foundation Announces Intent to Form New Foundation to Support GraphQL |werk=linuxfoundation.org |datum=2018-11-06 |abruf=2018-11-09 |archiv-url=https://web.archive.org/web/20190128030155/https://www.linuxfoundation.org/press-release/2018/11/intent_to_form_graphql/ |archiv-datum=2019-01-28 |offline=ja}}</ref>


Es bietet eine effiziente und flexible Alternative zu [[SQL]], ganz im Sinne von [[Representational State Transfer|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).<ref>{{Internetquelle |url=https://facebook.github.io/graphql/June2018/#sec-Language.Operations |titel=GraphQL |archiv-url=https://web.archive.org/web/20180718051011/http://facebook.github.io/graphql/June2018/#sec-Language.Operations |archiv-datum=2018-07-18 |offline=1 |abruf=2018-11-09}}</ref>
Es bietet eine effizientere, leistungsfähigere und flexiblere Alternative zu [[Representational State Transfer|REST]] und Ad-hoc-Webservice-Architekturen.<ref>{{Literatur |Titel=Learn GraphQL Fundamentals with Fullstack Tutorial |Online=https://www.howtographql.com/basics/0-introduction/ |Abruf=2018-11-09}}</ref> Es ermöglicht Clients, die Struktur der benötigten Daten zu definieren, und genau die gleiche Struktur der Daten wird vom Server zurückgegeben, wodurch verhindert wird, dass zu große Datenmengen zurückgegeben werden.


Zu den wichtigsten GraphQL-Clients gehören Apollo Client<ref>{{Internetquelle |url=https://www.apollographql.com/client/ |titel=Apollo Client |werk=apollographql.com |abruf=2018-11-09}}</ref> und Relay<ref>{{Internetquelle |url=https://facebook.github.io/relay/ |titel=Relay · A JavaScript framework for building data-driven React applications |werk=github.io |sprache=en |abruf=2018-11-09}}</ref>. GraphQL-Server sind für mehrere Sprachen verfügbar, einschließlich [[Haskell (Programmiersprache)|Haskell]], [[JavaScript]], [[Python (Programmiersprache)|Python]]<ref>{{Internetquelle |url=https://graphene-python.org/ |titel=Graphene-Python |werk=graphene-python.org |abruf=2018-11-09}}</ref>, [[Ruby (Programmiersprache)|Ruby]], [[Java (Programmiersprache)|Java]], [[C-Sharp|C#]], [[Scala (Programmiersprache)|Scala]], [[Go (Programmiersprache)|Go]], [[Elixir (Programmiersprache)|Elixir]],<ref>{{Internetquelle |url=http://absinthe-graphql.org/ |titel=Absinthe: Home |werk=absinthe-graphql.org |sprache=en |abruf=2018-11-09}}</ref> [[Erlang (Programmiersprache)|Erlang]], [[PHP]], [[R (Programmiersprache)|R]] und [[Clojure]].
GraphQL unterstützt das Lesen, Schreiben und Abonnieren von Datenänderungen (Echtzeit-Updates).<ref>{{Internetquelle |url=https://facebook.github.io/graphql/June2018/#sec-Language.Operations |titel=GraphQL |zugriff=2018-11-09}}</ref>


Am 9. Februar 2018 wurde die GraphQL Schema Definition Language (SDL) in die [[Spezifikation]] aufgenommen.<ref>{{Internetquelle |url=https://github.com/facebook/graphql/pull/90/ |titel=&#91;RFC&#93; GraphQL Schema Definition Language (SDL) by leebyron · Pull Request #90 · facebook/graphql |werk=github.com |sprache=en |abruf=2018-11-09}}</ref>
Zu den wichtigsten GraphQL-Clients gehören Apollo Client<ref>{{Internetquelle |url=https://www.apollographql.com/client/ |titel=Apollo Client |zugriff=2018-11-09}}</ref> und Relay<ref>{{Internetquelle |url=https://facebook.github.io/relay/ |titel=Relay · A JavaScript framework for building data-driven React applications |zugriff=2018-11-09 |sprache=en}}</ref>. GraphQL-Server sind für mehrere Sprachen verfügbar, einschließlich Haskell, JavaScript, Python<ref>{{Internetquelle |url=https://graphene-python.org/ |titel=Graphene-Python |zugriff=2018-11-09}}</ref>, Ruby, Java, C#, Scala, Go, Elixir<ref>{{Internetquelle |url=http://absinthe-graphql.org/ |titel=Absinthe: Home |zugriff=2018-11-09 |sprache=en}}</ref>, Erlang, PHP, R und Clojure.


== Weblinks ==
Am 9. Februar 2018 wurde die GraphQL Schema Definition Language (SDL) in die Spezifikation aufgenommen.<ref>{{Internetquelle |url=https://github.com/facebook/graphql/pull/90/ |titel=[RFC] GraphQL Schema Definition Language (SDL) by leebyron · Pull Request #90 · facebook/graphql |zugriff=2018-11-09 |sprache=en}}</ref>
* {{GitHub|graphql}}


== Einzelnachweise ==
== Einzelnachweise ==
<references />
<references />

{{Normdaten |TYP=s |GND=1223051153}}


[[Kategorie:Datenbanksprache]]
[[Kategorie:Datenbanksprache]]
[[Kategorie:Facebook]]
[[Kategorie:Freie Software]]
[[Kategorie:NoSQL]]

Aktuelle Version vom 28. März 2025, 09:48 Uhr

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

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]

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

[Bearbeiten | Quelltext 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.
  5. GraphQL. Archiviert vom Original (nicht mehr online verfügbar) am 18. Juli 2018; abgerufen am 9. November 2018.
  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).