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
270
0
Share
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
600
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
GitHub Copilot CLIのいいところ
htkym
2
560
My daily life on Ruby
a_matsuda
3
430
PHPでバイナリをパースして理解するASN.1
muno92
PRO
0
470
空間オーディオの活用
objectiveaudio
0
160
TSKaigi 2026 TypeScriptバックエンドのオブザーバビリティ戦略 — Datadog × NestJSの実践
taiseiyamamotoan
1
120
AI時代だからこそ「Bloc」を採用する価値があるのかもしれない
takuroabe
0
220
柔軟なPDFレイアウトエディタを支える型システム設計 — Discriminated UnionとConditional Typeの実践
minako__ph
2
420
Agent Skills を社内で育てる仕組み作り
jackchuka
1
2.3k
iOS26時代の新規アプリ開発
yuukiw00w
0
180
Migrations : C'est une question d'hygiène !
vinceamstoutz
0
880
Sans tests, vos agents ne sont pas fiables
nabondance
0
150
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
630
Featured
See All Featured
Joys of Absence: A Defence of Solitary Play
codingconduct
1
370
Leo the Paperboy
mayatellez
7
1.8k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
340
The Curious Case for Waylosing
cassininazir
1
360
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
1.4k
How to Ace a Technical Interview
jacobian
281
24k
Deep Space Network (abreviated)
tonyrice
0
150
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
150
SEO for Brand Visibility & Recognition
aleyda
0
4.5k
Test your architecture with Archunit
thirion
1
2.2k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.7k
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/