Fernand Galiana GraphQL New Black?
imhotep.io @kitesurfer
{ events { name year }
}
{ “events” { “name”: “Australian Open” “year” : 2017 }
}
imhotep.io @kitesurfer
• Thin Spec
• Consumer driven
• Self Docs
• What - !How
• Data Safety
• Incremental Adoption
• Transport Agnostic
• OnBoarding
• *REST Calls
• Over/Under fetch
imhotep.io @kitesurfer
• Rich Clients
• Mo’ Data
• Savvier users
• Microservices
• Best of Bride Langs / Stores / Fmk
• Multi Devices / API Clients
• Mobile / Network Bandwidth
• Type all teh things!
imhotep.io @kitesurfer
• String (!|[])
• ID
• Float
• Int
• Boolean
• Custom (Date)
• Enum
• Interface
• Unions (concrete types only!)
imhotep.io @kitesurfer
Rod Laver 6,4,6,3,6,2
ESP 32
SWI 35
Finals
Match
Rafael Nadal
Roger Federer
Aussie Open 2017 Draw
imhotep.io @kitesurfer
Rod Laver 6,4,6,3,6,2Finals
Match
ESP 32
Rafael Nadal
SWI 35
Aussie Open 2017 Draw
Quarter
Draw
Semis
DrawRoger Federer
imhotep.io @kitesurfer
Rod Laver 6,4,6,3,6,2
Quarter
Finals
Semis
Match
ESP 32
Rafael Nadal
SWI 35
Aussie Open 2017 Draw
Draw
DrawRoger Federer
imhotep.io @kitesurfer
• Think graph!
• Baby steps
• Design for the future
• Name/Doc wisely
• Premature caching
• Forget polymorphism!
• Fragments reuse
• Track mutations
• Balance #calls vs payload
• QL Mocks
• Countermeasures for DDOS
• Client side still JSON - !Models
• Client/Server teams
• No breaking changes?
• Query tuning
• Null / Errors
• Relational Stores??
• Bigs schemas
• Monitoring /graphql?
imhotep.io @kitesurfer
• github.com/derailed/ao-demo
• graphql.org
• github.com/facebook/dataloader
• absinthe-graphql.org
• github.com/apollostack
• facebook.github.io/relay
• github.com/chentsulin/awesome-graphql