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
13k
Designing Towards Event Sourcing
tourismgeek
1
13k
Essentials for Building and Leading Highly Effective Development Teams
tourismgeek
0
500
Let the Uncertainty be Your Friend: Finding Your Path in a Wiggly Road
tourismgeek
0
480
Benefits of Managed Kubernetes in Azure (Azure Container Service, AKS)
tourismgeek
0
490
Levelling up to Become a Technical Lead
tourismgeek
2
28k
Benefits of Managed Kubernetes in Azure (Azure Container Service, AKS)
tourismgeek
0
200
I Hated React too Soon, Reconciled with It Quickly Afterwards
tourismgeek
0
50
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
AHC035解説
terryu16
0
710
Modern Angular: Renovation for Your Applications
manfredsteyer
PRO
0
140
Advanced App Shrinking Techniques
cbeyls
2
150
スクラムマスターって孤独じゃないですか?
yoshitaroyoyo
1
140
コード生成を伴うLLMエージェント - 2024.07.18 Tokyo AI
smiyawaki0820
11
4.1k
CSC307 Lecture 13
javiergs
PRO
0
150
GraphQL はいいぞ! ~Laravel で学ぶ GraphQL 入門~
azuki
1
160
Clean Architecture by TypeScript & NestJS
ryounasso
0
150
Xcode 16のPreviewModifierと@Previewableを活用した効率的なプレビュー方法の考察
ojun9
2
160
小さな開発会社を作った理由
polidog
0
1.9k
CSC307 Lecture 12
javiergs
PRO
0
220
Play Billing Library 7.0.0 変更点まとめ@potatotips#88
kako351
0
160
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
35
4.4k
A Philosophy of Restraint
colly
200
16k
The Art of Programming - Codeland 2020
erikaheidi
48
13k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
78
15k
Speed Design
sergeychernyshev
9
270
The Language of Interfaces
destraynor
151
23k
Optimizing for Happiness
mojombo
373
69k
The MySQL Ecosystem @ GitHub 2015
samlambert
248
12k
Thoughts on Productivity
jonyablonski
64
4.1k
Testing 201, or: Great Expectations
jmmastey
33
6.9k
GraphQLの誤解/rethinking-graphql
sonatard
59
9.6k
Designing for Performance
lara
604
67k
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/