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 Without Hype
Search
Łukasz Szymański
April 03, 2017
Programming
0
270
GraphQL Without Hype
Łukasz Szymański
April 03, 2017
Tweet
Share
More Decks by Łukasz Szymański
See All by Łukasz Szymański
Chain reaction of scaling up
szymanskilukasz
1
140
PHP's Not Dead - PHP7 In Practice
szymanskilukasz
10
43k
CQRS & Event Sourcing in OLX
szymanskilukasz
7
1.9k
Text Retrieval
szymanskilukasz
0
190
OLX pod maską [PL]
szymanskilukasz
2
710
Other Decks in Programming
See All in Programming
マンガアプリViewerの大画面対応を考える
kk__777
0
340
チームの境界をブチ抜いていけ
tokai235
0
230
GC25 Recap: The Code You Reviewed is Not the Code You Built / #newt_gophercon_tour
mazrean
0
120
他言語経験者が Golangci-lint を最初のコーディングメンターにした話 / How Golangci-lint Became My First Coding Mentor: A Story from a Polyglot Programmer
uma31
0
440
CSC305 Lecture 12
javiergs
PRO
0
240
Devvox Belgium - Agentic AI Patterns
kdubois
1
150
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
510
AIと人間の共創開発!OSSで試行錯誤した開発スタイル
mae616
2
820
Ktorで簡単AIアプリケーション
tsukakei
0
110
3年ぶりにコードを書いた元CTOが Claude Codeと30分でMVPを作った話
maikokojima
0
650
実践Claude Code:20の失敗から学ぶAIペアプログラミング
takedatakashi
18
8.9k
オープンソースソフトウェアへの解像度🔬
utam0k
17
3.2k
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
38
2.9k
The Pragmatic Product Professional
lauravandoore
36
7k
Into the Great Unknown - MozCon
thekraken
40
2.1k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
116
20k
YesSQL, Process and Tooling at Scale
rocio
173
15k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
640
Building Flexible Design Systems
yeseniaperezcruz
329
39k
A better future with KSS
kneath
239
18k
Designing for humans not robots
tammielis
254
26k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Rails Girls Zürich Keynote
gr2m
95
14k
Mobile First: as difficult as doing things right
swwweet
225
10k
Transcript
GraphQL WITHOUT HYPE szymanskilukasz
szymanskilukasz REST
szymanskilukasz
szymanskilukasz
szymanskilukasz
szymanskilukasz
szymanskilukasz Multiple round trips between the client and server to
render single views
szymanskilukasz
szymanskilukasz
szymanskilukasz
szymanskilukasz Ad Hoc Endpoints
szymanskilukasz
szymanskilukasz
szymanskilukasz
szymanskilukasz Maintaining Versions
szymanskilukasz Weakly Typed
szymanskilukasz Over Fetching Data
szymanskilukasz Documentation ?
szymanskilukasz What is GraphQL?
szymanskilukasz GraphQL is a query language for APIs and a
runtime for fulfilling those queries with your existing data
szymanskilukasz No round trips
szymanskilukasz For clients
szymanskilukasz Backend ?
szymanskilukasz It can be anything
szymanskilukasz It can be anything
szymanskilukasz How ? 'resolve' => function ($rootValue, $args, $context) {
// return something from your existing backend; }
szymanskilukasz Thanks to resolve() we can put GraphQL anywhere
szymanskilukasz API for mobile apps
szymanskilukasz Internal API
szymanskilukasz API for services
szymanskilukasz No Versioning https://github.com/facebook/graphql/issues/175
szymanskilukasz Facebook's GraphQL schema
szymanskilukasz Facebook's GraphQL schema - over 4 years old
szymanskilukasz Facebook's GraphQL schema - over 4 years old -
1,000s of types at this point
szymanskilukasz Facebook's GraphQL schema - over 4 years old -
1,000s of types at this point, - under active change by 100s of engineers
szymanskilukasz Facebook's GraphQL schema - over 4 years old -
1,000s of types at this point, - under active change by 100s of engineers - has never needed a versioned breaking change
szymanskilukasz Facebook's GraphQL schema - over 4 years old -
1,000s of types at this point, - under active change by 100s of engineers - has never needed a versioned breaking change - and still supports 4-year old shipped versions of iOS and Android apps (which unfortunately are still being used)
szymanskilukasz Strongly Typed / Documentation
szymanskilukasz Confession
szymanskilukasz Be prepared
szymanskilukasz Denial of Service
szymanskilukasz
szymanskilukasz
szymanskilukasz Authentication Authorization
szymanskilukasz N+1 queries
szymanskilukasz Monitoring / Debugging Tools
szymanskilukasz How to get started
szymanskilukasz Internal API for services
szymanskilukasz Demo: echo(message: “”)
Demo: echo(message: “”)
szymanskilukasz Demo: get User Credits
szymanskilukasz Demo: get User Credits
szymanskilukasz Demo: Deprecated Fields
szymanskilukasz Demo: Deprecated Fields
szymanskilukasz Demo: Mutations
szymanskilukasz Demo: Mutations
szymanskilukasz Public API
szymanskilukasz Demo: User Authorization
szymanskilukasz Demo: User Authorization
szymanskilukasz Demo: Performance
szymanskilukasz Demo: Performance
szymanskilukasz I just want to have fun
http://graphql.org/swapi-graphql/ szymanskilukasz
https://developer.github.com/early-access/graphql/explorer/ szymanskilukasz
https://github.com/chentsulin/awesome-graphql szymanskilukasz
Łukasz Szymański Development Team Lead at @szymanskilukasz https://www.linkedin.com/in/szymanskilukasz https://twitter.com/szymanskilukasz https://speakerdeck.com/szymanskilukasz
szymanskilukasz