Skip to content

GraphQL Roadmap

  • Roadmap: https://roadmap.sh/graphql

1. Introduction

  • 1.1 What is GraphQL
  • 1.2 Problems GraphQL Solves
  • 1.3 Thinking in Graphs
  • 1.4 GraphQL on Frontend
  • 1.5 GraphQL on Backend

2. GraphQL Queries

  • 2.1 What are Queries?
  • 2.2 Fields
  • 2.3 Variables
  • 2.4 Aliases
  • 2.5 Arguments
  • 2.6 Directives
  • 2.7 Fragments

3. Mutations

  • 3.1 What are Mutations?
  • 3.2 Multiple Fields in Mutation
  • 3.3 Operation Name

4. Subscriptions

  • 4.1 What are Subscriptions
  • 4.2 Event Based Subscriptions
  • 4.3 Live Queries
  • 4.4 @defer / @stream directives

5. Schema

5.1 Type System

  • 5.1.1 Fields
  • 5.1.2 Scalars
  • 5.1.2.1 Int, Float, String, Boolean, ID
  • 5.1.3 Enums
  • 5.1.4 Objects
  • 5.1.5 Lists
  • 5.1.6 Interfaces
  • 5.1.7 Unions
  • 5.1.8 Arguments

6. Validation

  • 6.1 Root Fields
  • 6.2 Resolvers

7. Execution

  • 7.1 Synchronous
  • 7.2 Asynchronous
  • 7.3 Scalar Coercion
  • 7.4 Lists
  • 7.5 Validation
  • 7.6 Producing the Result

8. Serving over Internet

8.1 GraphQL Over HTTP

  • 8.1.1 GraphQL Over HTTP Spec
  • 8.1.2 Caching
  • 8.1.3 Batching
  • 8.1.4 Authorization

8.2 GraphQL Over WebSockets

  • 8.2.1 Specification
  • 8.2.2 Realtime
  • 8.2.3 Authorization

8.3 GraphQL Over SSE

  • 8.3.1 Specification
  • 8.3.2 Authorization

9. Pagination

10. Implementations

10.1 Go Implementation

  • 10.1.1 GraphQL Go

10.2 JavaScript Implementation

  • 10.2.1 GraphQL.js

10.3 Java Implementation

  • 10.3.1 GraphQL Java

11. Servers

11.1 JavaScript

  • 11.1.1 graphql-http
  • 11.1.2 GraphQL Yoga
  • 11.1.3 Apollo Server
  • 11.1.4 mercurius

12. Clients

12.1 JavaScript

  • 12.1.1 graphql-http
  • 12.1.2 Relay
  • 12.1.3 Apollo Client
  • 12.1.4 Urql