GraphQL: Facebooks Abfragesprache ist nicht mehr nur Technical Preview
Weiteren Aufschwung dürfte die Abfragesprache erhalten, wo Facebook sie zum gestandenen Open-Source-Projekt bestimmt hat und Dienste wie GitHub sie verwenden.
![GraphQL: Facebooks Abfragesprache ist nicht mehr nur Technical Preview](https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/1/8/9/3/0/1/1/graphql-d54c12cb91790b93.jpeg)
- Alexander Neumann
Facebooks Abfragesprache für die Client-Server-Kommunikation GraphQL hat den Status einer Technical Preview hinter sich gelassen. Zugleich wurde die zum Projekt gehörende Website überarbeitet. Bei GraphQL formulieren Client-Entwickler ihre Queries in einer JSON-ähnlichen Form mit genau den Attributen und in der Tiefe, die für die konkrete Ansicht nötig sind. Die Abfragesprache kümmert sich darum, die Query ohne unnötige Server-Roundtrips abzuwickeln.
GraphQL ist eine Reaktion auf Probleme beim Einsatz von Webservices mit dem REST-Programmierparadigma (Representational State Transfer). Diese sind zwar in der Client-Server-Kommunikation zumeist gesetzt, jedoch sind bei ihnen oft mehrere Requests nötig, um komplexere Daten abzufragen. Da so etwas gerade bei mobilen Anwendungen nicht erwünscht ist, werden mittlerweile oft spezielle Ressourcen für bestimmte Ansichten ergänzt, was jedoch zur stärkeren Koppelung zwischen Client und Server sowie zu Versionierungsproblemen bei APIs führen kann.
GraphQL kommt bei Facebook offenbar seit 2012 bei der Auslieferung mobiler News zum Einsatz. Seit letztem Jahr ist die Technik Open Source. In der Zwischenzeit gibt es Implementierungen in Sprachen wie Java, JavaScript, Ruby, Python, Scala, Go, Elixir und C#. Seit Kurzem gibt es mit der GitHub GraphQL API eine erste öffentliche Programmierschnittstelle auf Basis der Abfragesprache, die die bisherige REST API ersetzen soll. (ane)