Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
GraphQL
Tugberk Ugurlu
September 05, 2017
Programming
0
160
GraphQL
Internal Lightning Talk @ Redgate, Cambridge, UK
Tugberk Ugurlu
September 05, 2017
Tweet
Share
More Decks by Tugberk Ugurlu
See All by Tugberk Ugurlu
Redis Cluster for Write Intensive Workloads
tourismgeek
1
200
Designing Towards Event Sourcing
tourismgeek
1
98
Essentials for Building and Leading Highly Effective Development Teams
tourismgeek
0
230
Let the Uncertainty be Your Friend: Finding Your Path in a Wiggly Road
tourismgeek
0
220
Benefits of Managed Kubernetes in Azure (Azure Container Service, AKS)
tourismgeek
0
420
Levelling up to Become a Technical Lead
tourismgeek
2
20k
Benefits of Managed Kubernetes in Azure (Azure Container Service, AKS)
tourismgeek
0
160
I Hated React too Soon, Reconciled with It Quickly Afterwards
tourismgeek
0
34
ASP.NET MVC 5 vs ASP.net Web API 2 vs ASP.NET Core MVC 1
tourismgeek
1
1k
Other Decks in Programming
See All in Programming
Node.js 最新動向 TFCon 2022
yosuke_furukawa
PRO
6
2.8k
【PHPerKaigi2022】Mongo に溜まった約1.6億件の記事データを BigQuery へ …
userkazun
0
110
iOSアプリの技術選択2022
tattn
6
2.4k
CIでAndroidUIテストの様子を録画してみた
mkeeda
0
170
TechFeed Conference 2022 - Kotlin Experimental
jmatsu
0
750
From Java 11 to 17 and beyond
josepaumard
0
290
mrubyを1300円のボードで動かそう
yuuu
0
180
プログラミングを勉強したいと言われたら
yuba_4
0
390
C言語でメモリ管理を考えた話
hkawai
0
190
heyにおけるSREの大切さ~マルチプロダクト運用の「楽しさ」と「難しさ」および今後の展望~
fufuhu
3
1.6k
SPA/MPA 議論の俯瞰と 現代における設計のポイント - #tfcon 2022 フロントエンド設計
ahomu
3
1.7k
Kotlin 最新動向2022 #tfcon #techfeed
ntaro
1
1.1k
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
4
2k
Imperfection Machines: The Place of Print at Facebook
scottboms
253
11k
Stop Working from a Prison Cell
hatefulcrawdad
261
17k
Adopting Sorbet at Scale
ufuk
63
7.5k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
151
12k
Six Lessons from altMBA
skipperchong
14
1.3k
Principles of Awesome APIs and How to Build Them.
keavy
113
15k
How to train your dragon (web standard)
notwaldorf
57
3.8k
It's Worth the Effort
3n
172
25k
Thoughts on Productivity
jonyablonski
43
2.2k
The Most Common Mistakes in Cover Letters
jrick
PRO
4
24k
Agile that works and the tools we love
rasmusluckow
319
19k
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/