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
230
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
19k
Designing Towards Event Sourcing
tourismgeek
1
19k
Essentials for Building and Leading Highly Effective Development Teams
tourismgeek
0
560
Let the Uncertainty be Your Friend: Finding Your Path in a Wiggly Road
tourismgeek
0
580
Benefits of Managed Kubernetes in Azure (Azure Container Service, AKS)
tourismgeek
0
550
Levelling up to Become a Technical Lead
tourismgeek
2
28k
Benefits of Managed Kubernetes in Azure (Azure Container Service, AKS)
tourismgeek
0
230
I Hated React too Soon, Reconciled with It Quickly Afterwards
tourismgeek
0
65
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
AI Coding Agent Enablement - エージェントを自走させよう
yukukotani
13
5.8k
List とは何か? / PHPerKaigi 2025
meihei3
0
670
php-fpm がリクエスト処理する仕組みを追う / Tracing-How-php-fpm-Handles-Requests
shin1x1
5
2.9k
AIコードエディタの基盤となるLLMのFlutter性能評価
alquist4121
0
200
Django for Data Science (Boston Python Meetup, March 2025)
wsvincent
0
320
Code smarter, not harder - How AI Coding Tools Boost Your Productivity | Webinar 2025
danielsogl
0
120
Building Scalable Mobile Projects: Fast Builds, High Reusability and Clear Ownership
cyrilmottier
2
250
Being an ethical software engineer
xgouchet
PRO
0
200
複数ドメインに散らばってしまった画像…! 運用中のPHPアプリに後からCDNを導入する…!
suguruooki
0
470
「影響が少ない」を自分の目でみてみる
o0h
PRO
2
960
Building a macOS screen saver with Kotlin (Android Makers 2025)
zsmb
1
140
英語 × の私が、生成AIの力を借りて、OSSに初コントリビュートした話
personabb
0
180
Featured
See All Featured
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
640
Side Projects
sachag
452
42k
We Have a Design System, Now What?
morganepeng
52
7.5k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
What's in a price? How to price your products and services
michaelherold
245
12k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.1k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.9k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.7k
Scaling GitHub
holman
459
140k
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/