Slide 1

Slide 1 text

Intro to GraphQL A query language for your API

Slide 2

Slide 2 text

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