andrewsardone.com
@andrewa2
github.com/andrewsardone
ANDREW SARDONE
Slide 3
Slide 3 text
Our Apps Talk APIs
Clients
Server
Slide 4
Slide 4 text
GET /
HTTP APIs
Slide 5
Slide 5 text
GET /people
Slide 6
Slide 6 text
GET /people
Slide 7
Slide 7 text
GET /people/1 GET /homeworld/1
Slide 8
Slide 8 text
Problems?
PROBLEMS?
LARGE WASTEFUL PAYLOADS
INCONSISTENT & AD-HOC ENDPOINTS
DUPLICATE CLIENT & SERVER MODELS
MINIMAL STATIC ANALYSIS & TYPING
Slide 9
Slide 9 text
Facebook had these problems, too
Slide 10
Slide 10 text
No content
Slide 11
Slide 11 text
HTTP POST HTTP Response
Slide 12
Slide 12 text
Request Response
Slide 13
Slide 13 text
GraphiQL
Slide 14
Slide 14 text
Apollo GraphQL
Server & Client tools for…
• React
• React Native
• iOS
• Android
https://www.apollographql.com/
Slide 15
Slide 15 text
PROBLEMS SOLVED
ONE QUERY FOR A LOGICAL UI
NO UNNECESSARY DATA
BUILT-IN DOCS & STATIC TOOLING
Slide 16
Slide 16 text
DEMO
Slide 17
Slide 17 text
What next?
•GraphQL mutations
•Streaming events with subscriptions
•Stitching together multiple schemas
Slide 18
Slide 18 text
Sources, Further Reading
How to GraphQL – http://bit.ly/how-to-graphql
Apollo for iOS Docs – http://bit.ly/apollo-ios-guide
GitHub GraphQL API – http://bit.ly/github-graphql-api
pinboard.in/u:andrewsardone/t:graphql