Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
GraphQL
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Tugberk Ugurlu
September 05, 2017
Programming
270
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
GraphQL
Internal Lightning Talk @ Redgate, Cambridge, UK
Tugberk Ugurlu
September 05, 2017
More Decks by Tugberk Ugurlu
See All by Tugberk Ugurlu
Redis Cluster for Write Intensive Workloads
tourismgeek
1
21k
Designing Towards Event Sourcing
tourismgeek
1
20k
Essentials for Building and Leading Highly Effective Development Teams
tourismgeek
0
610
Let the Uncertainty be Your Friend: Finding Your Path in a Wiggly Road
tourismgeek
0
670
Benefits of Managed Kubernetes in Azure (Azure Container Service, AKS)
tourismgeek
0
600
Levelling up to Become a Technical Lead
tourismgeek
2
28k
Benefits of Managed Kubernetes in Azure (Azure Container Service, AKS)
tourismgeek
0
270
I Hated React too Soon, Reconciled with It Quickly Afterwards
tourismgeek
0
100
ASP.NET MVC 5 vs ASP.net Web API 2 vs ASP.NET Core MVC 1
tourismgeek
1
1.1k
Other Decks in Programming
See All in Programming
Claspは野良GASの夢をみるか
takter00
0
180
3Dシーンの圧縮
fadis
1
690
Java × distroless で 軽量なコンテナイメージを / Java on Distroless
contour_gara
0
520
DynamoDBには集計系のクエリがないけどなんとかしたい
musan
1
130
Javaの型とAI時代に型が大事な理由 / java types and type in AI era
kishida
2
120
Spec Driven Development | AI Summit Lisbon
danielsogl
PRO
0
170
OSもどきOS
arkw
0
480
Vite+ Unified Toolchain for the Web
naokihaba
0
230
メソッドのジェネリクスでGoの夢は広がるか? / Kyoto.go #65
utgwkk
3
660
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
200
Spec-Driven Development with AI-Agents: From High-Level Requirements to Working Software
antonarhipov
2
480
IBM Bobを活用したレガシーアプリの最新化
oniak3ibm
PRO
1
190
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Mind Mapping
helmedeiros
PRO
1
240
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
200
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3.4k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
270
Un-Boring Meetings
codingconduct
0
310
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
1.1k
Unsuck your backbone
ammeep
672
58k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
200
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Transcript
GraphQL TUGBERK UGURLU
https://flic.kr/p/7ZJ5Aa
GraphQL is a query language for your API, and a
server-side runtime for executing queries by using a type system you define for your data. (http://graphql.org/learn/)
WHAT PROBLEMS DOES IT ADDRESS? Strongly Typed Describe what’s possible
with a type system Declarative Ask for what you need, get exactly that Compositional Get many resources in a single request
WHO’S USING GRAPHQL? http://graphql.org/users/
CHARACTERISTICS Query has exactly the same shape as the result
GraphQL operates on set of types in your schema
CHARACTERISTICS GraphQL services can be written in any language Introspection
system allows you to ask for information about the schema
SHOW ME THE CODE! https://flic.kr/p/ec78kF
HELLO WORLD!
HELLO WORLD!
NULLABILITY http://graphql.org/learn/best-practices/#nullability
HELLO WORLD!
SERVER
CLIENT
GITHUB GRAPHQL API V4 https://developer.github.com/v4/
GITHUB GRAPHQL API V4
GITHUB GRAPHQL API V4
GITHUB GRAPHQL API V4
GRAPHIQL https://github.com/graphql/graphiql
SILVER BULLET? https://flic.kr/p/5UBU5r
A FEW PROBLEMS Authentication and Authorization You are on your
own! HTTP Caching Cause by having a POST request with single endpoint Unpredictable Execution Freedom has its cost!
MUTATIONS It seems immature and enforces the RPC pattern. (http://graphql.org/learn/queries/#mutations)
BFF (BACKENDS FOR FRONTENDS) (http://samnewman.io/patterns/architectural/bff/)
ODATA? https://twitter.com/tourismgeek/status/904983421352644608
FURTHER RESOURCES https://flic.kr/p/4omoir
RFC SPEC http://facebook.github.io/graphql/ (Working draft, last updated IN 2016, Oct)
THINKING IN GRAPHS http://graphql.org/learn/thinking-in-graphs/
RELAY https://facebook.github.io/relay/
MORE LINKS • Home of GraphQL: http://graphql.org/ • Best Practices
with GraphQL: http://graphql.org/learn/best-practices/ • Getting Started: http://graphql.org/graphql-js/ • Validation: http://graphql.org/learn/validation/ • Pagination: http://graphql.org/learn/pagination/