GraphQL has grown out of its baby shoes and is becoming the new standard for client-server communication. When it was introduced 2 years ago, there merely was any tooling that would help developers using it except for Facebook's reference implementation in JavaScript as well as corresponding middleware for Express so you could embed it in your web server. By now, the situation has changed drastically and a plethora of tools, libraries and services have entered the GraphQL ecosystem, providing great improvements to workflows and overall developer experience. In this talk, Nikolas will give an overview of the most relevant tools that exist in the GraphQL ecosystem today, ensuring you can make the best choices when starting your own GraphQL journey.
5. The GraphQL Schema
• Strongly typed & written in GraphQL Schema Definition
Language (SDL)
• Defines API capabilities ( = contract for client-server
communication)
• Special root types: Query, Mutation, Subscription
@nikolasburk
8. Structure vs Behaviour
• The GraphQL schema is an abstract description of the
structure of a GraphQL API
• Resolver functions are the concrete implementation
and determine the behaviour of a GraphQL API
@nikolasburk
12. Frontend (React)
• GraphQL clients provide declarative abstractions
for working with the API
• Most popular
1. Apollo Client
2. Relay
3. Urql
@nikolasburk
14. Declarative Data Fetching
1. Define data requirements with GraphQL query
2. Pass query to GraphQL client
3. Use response data in props of component 🎉
@nikolasburk
15. 3. Use response data in
props of component
1. Define data requirements
with GraphQL query
2. Pass query to GraphQL client
19. GraphQL Server Libraries
• express-graphql: Bare minimum GraphQL server for
Express
• apollo-server: Works with multiple web frameworks
but requires lots of boilerplate
• graphql-yoga: Simple setup, lots of tooling support
e.g. for realtime subscriptions, GraphQL Playground …
@nikolasburk
22. Prisma - A GraphQL database layer
• Turns your database into a GraphQL API
• Provides a GraphQL API for CRUD operations
• Simplifies implementation of GraphQL resolvers
@nikolasburk
38. • Allows to easily mock a GraphQL API with fake data
• Based on faker.js
• Various types of fake data: addresses, first/last
names, urls, dates, currencies, phone numbers …
https://github.com/APIs-guru/graphql-faker