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
Tugberk Ugurlu
September 05, 2017
Programming
0
220
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
15k
Designing Towards Event Sourcing
tourismgeek
1
15k
Essentials for Building and Leading Highly Effective Development Teams
tourismgeek
0
510
Let the Uncertainty be Your Friend: Finding Your Path in a Wiggly Road
tourismgeek
0
500
Benefits of Managed Kubernetes in Azure (Azure Container Service, AKS)
tourismgeek
0
510
Levelling up to Become a Technical Lead
tourismgeek
2
28k
Benefits of Managed Kubernetes in Azure (Azure Container Service, AKS)
tourismgeek
0
210
I Hated React too Soon, Reconciled with It Quickly Afterwards
tourismgeek
0
52
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
Scala におけるコンパイラエラーとの付き合い方
chencmd
1
200
Rubyとクリエイティブコーディングの輪の広がり / The Growing Circle of Ruby and Creative Coding
chobishiba
1
230
僕が思い描くTypeScriptの未来を勝手に先取りする
yukukotani
7
2k
LangChainでWebサイトの内容取得やGitHubソースコード取得
shukob
0
130
Prompt Cachingは本当に効果的なのか検証してみた.pdf
ttnyt8701
0
450
私の考える初学者がBlazorできるまでの学習方法
tomokusaba
1
250
プログラマのための音楽入門
cheebow
5
550
Ruby Parser progress report 2024
yui_knk
2
190
Hono・Prisma・AWSでGeoなAPI開発
nokonoko1203
5
620
Swift Concurrencyとレースコンディション
objectiveaudio
1
390
2024 컴포즈 정원사
jisungbin
0
150
全力の跳躍を捉える計測アプリを作る
ogijun2018
0
1.1k
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
45
4.8k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
363
22k
Code Review Best Practice
trishagee
62
16k
RailsConf 2023
tenderlove
26
790
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
42
2k
Fontdeck: Realign not Redesign
paulrobertlloyd
80
5.1k
Unsuck your backbone
ammeep
667
57k
Designing the Hi-DPI Web
ddemaree
278
34k
In The Pink: A Labor of Love
frogandcode
139
22k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
26
1.9k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
190
16k
10 Git Anti Patterns You Should be Aware of
lemiorhan
653
58k
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/