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
200
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
9k
Designing Towards Event Sourcing
tourismgeek
1
8.7k
Essentials for Building and Leading Highly Effective Development Teams
tourismgeek
0
470
Let the Uncertainty be Your Friend: Finding Your Path in a Wiggly Road
tourismgeek
0
440
Benefits of Managed Kubernetes in Azure (Azure Container Service, AKS)
tourismgeek
0
470
Levelling up to Become a Technical Lead
tourismgeek
2
28k
Benefits of Managed Kubernetes in Azure (Azure Container Service, AKS)
tourismgeek
0
190
I Hated React too Soon, Reconciled with It Quickly Afterwards
tourismgeek
0
46
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
HUIT新歓2024「競技プログラミング、やってみませんか?」
slephy2784
1
250
Code Reviews
bkuhlmann
4
860
ADRを一年運用してみた/adr_after_a_year
hanhan1978
7
2.2k
プールにゆこう
irof
2
120
What We Can Learn From OSS
inouehi
0
380
両面どころかインフラもTSでできるよ ~ 全方位TypeScriptによるプロダクト開発 ~
myfinder
9
3.2k
データアナリストが行うDatabricksを活用したETLの自動化事例
shinoa
0
250
Rubyでたのしむクリエイティブコーディング/Enjoy Creative coding with Ruby
chobishiba
1
160
Doctrine ORMでValue Objectを扱う方法4選 #phpstudy / 4 ways to handle Value Objects with Doctrine ORM
77web
4
110
SpringBoot+MyBatisで例外が出たときどこを見るか
syukai
0
110
Semantic search with Django and pgvector
pauloxnet
0
220
AWS Application Composerで始める、 サーバーレスなデータ基盤構築 / 20240406-jawsug-hokuriku-shinkansen
kasacchiful
1
240
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
343
19k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
18
1.7k
For a Future-Friendly Web
brad_frost
171
8.9k
Why Our Code Smells
bkeepers
PRO
330
56k
Why You Should Never Use an ORM
jnunemaker
PRO
50
8.6k
No one is an island. Learnings from fostering a developers community.
thoeni
14
2.1k
A Philosophy of Restraint
colly
195
16k
We Have a Design System, Now What?
morganepeng
42
6.7k
How to name files
jennybc
64
92k
Fashionably flexible responsive web design (full day workshop)
malarkey
397
65k
Thoughts on Productivity
jonyablonski
57
3.8k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
352
28k
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/