Skip to content

Latest commit

 

History

History
37 lines (25 loc) · 4.73 KB

README.md

File metadata and controls

37 lines (25 loc) · 4.73 KB

Learning GraphQL

Discovering and learning using GraphQL and Relay.

GraphQL is a query language, built on top of a custom schema using a strong type system, that allows to express client-specified queries, to validate them, while introspecting the schema. A GraphQL query executor will then deliver data in the shape asked by the client, while validating the data it retrieves from the required datasources. GraphQL can retrieve data from any kind of datastore, being it a relational SQL Server database, a graph DB or a key-value datastore such as Redis.

Overview

  • Exploring GraphQL video, 28 min. (Lee Byron, 24.08.2015) Motivations for GraphQL, some performance metrics and description of GraphQL design principles: strong type system, expressing shape of expected data, returned data in this shape, and validated according to the schema
  • Introduction to GraphQL (Nick Schrock, React blog, 01.05.2015) Announces Relay open-source publication, while explaining what GraphQL is, its features and advantages, and differences to REST-style and Ad Hoc server endpoints
  • Thinking in GraphQL Interesting article within Relay Docs, which gives an overview of Relay's features on top of GraphQL, in the service of React
  • Data fetching for React applications at Facebook video, 26 min. (Dan Schafer, Jing Chen, 28.01.2015) Synthetic overview of GraphQL and Relay's features: query colocation to React components, pagination, query validation, mutations, optimistic updates and error handling.

Understanding and using

  • Getting started with GraphQL Installing and getting the GraphQL NodeJS server running
  • Walkthrough of GraphQL (also available as a single page in GraphQL's GitHub repo) A good explanation of GraphQL's schema, type system and queries
  • GraphiQL A graphical interactive in-browser GraphQL IDE: allows to browse the schema and its documentation, write and validate queries, and of course, browse results; un composant déterminant pour l'adoption d'un schéma GraphQL au sein d'une équipe
  • GraphQL Relay.js Test-suite The test suite that comes with GraphQL Relay.js source code is an interesting example to study, it implements the StarWars schema, types, queries and mutation found in the reference documentation
  • Medium › GraphQL Hub Serie of tutorials deepening usage of the type system and describing a few common use cases.

Extending the type system

  • GraphQLDateTimeScalarType a Gist with a custom DateTime type definition for a date and time with timezone, that serializes to JSON in ISO-8601 format (CoffeeScript)

Reference documentation

Useful articles