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
2k
Text Retrieval
szymanskilukasz
0
190
OLX pod maską [PL]
szymanskilukasz
2
710
Other Decks in Programming
See All in Programming
組織もソフトウェアも難しく考えない、もっとシンプルな考え方で設計する #phpconfuk
o0h
PRO
10
4.4k
自動テストのアーキテクチャとその理由ー大規模ゲーム開発の場合ー
segadevtech
2
1k
ゼロダウンタイムでミドルウェアの バージョンアップを実現した手法と課題
wind111
0
170
競馬で学ぶ機械学習の基本と実践 / Machine Learning with Horse Racing
shoheimitani
13
12k
レイトレZ世代に捧ぐ、今からレイトレを始めるための小径
ichi_raven
0
350
仕様がそのままテストになる!Javaで始める振る舞い駆動開発
ohmori_yusuke
8
4.3k
Building AI with AI
inesmontani
PRO
0
190
2025 컴포즈 마법사
jisungbin
0
130
最新のDirectX12で使えるレイトレ周りの機能追加について
projectasura
0
250
複数チーム並行開発下でのコード移行アプローチ ~手動 Codemod から「生成AI 活用」への進化
andpad
0
170
All(?) About Point Sets
hole
0
150
MCPサーバー「モディフィウス」で変更容易性の向上をスケールする / modifius
minodriven
8
1.5k
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
40
2.2k
Testing 201, or: Great Expectations
jmmastey
46
7.8k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
24
1.6k
Documentation Writing (for coders)
carmenintech
76
5.1k
Being A Developer After 40
akosma
91
590k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
670
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
It's Worth the Effort
3n
187
28k
Typedesign – Prime Four
hannesfritz
42
2.9k
Faster Mobile Websites
deanohume
310
31k
Context Engineering - Making Every Token Count
addyosmani
10
390
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