GraphQL is a data query language developed internally by Facebook in 2012 before being publicly released in 2015. It provides an alternative to REST and ad-hoc webservice architectures. It allows clients to define the structure of the data required, and exactly the same structure of the data is returned from the server. It is a strongly typed runtime which allows clients to dictate what data is needed. This avoids both the problems of over-fetching as well as under-fetching of data. GraphQL has been implemented in multiple languages, including JavaScript, Python, Ruby, Java, C#, Scala, Go, Elixir, Erlang, PHP, Python and Clojure.
Official websites:
See this Github repository: https://github.com/APIs-guru/graphql-apis
For a more detailed list, see this Github repository: https://github.com/chentsulin/awesome-graphql
- https://facebook.github.io/graphql/ - Working Draft of the Specification for GraphQL created by Facebook.
- Authorization in GraphQL - Jonas Helfer
- GraphQL vs REST: Caching - Phil Sturgeon
- GraphQL Deep Dive: The Cost of Flexibility - Samer Buna
- Developing and maintaining a Java GraphQL back-end - Bojan Tomic
- Lessons from 4 Years of GraphQL - Lee Byron, GraphQL/Facebook
- GraphQL SF: Subscriptions, Yelp's Public API, GraphQL at Airbnb - GraphQL San Francisco meetup
- Going Serverless with GraphQL - Steve Faulkner, Bustle