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
290
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
160
PHP's Not Dead - PHP7 In Practice
szymanskilukasz
10
43k
CQRS & Event Sourcing in OLX
szymanskilukasz
7
2k
Text Retrieval
szymanskilukasz
0
200
OLX pod maską [PL]
szymanskilukasz
2
730
Other Decks in Programming
See All in Programming
カスタマーサクセス業務を変革したヘルススコアの実現と学び
_hummer0724
0
430
AIフル活用時代だからこそ学んでおきたい働き方の心得
shinoyu
0
120
なぜSQLはAIぽく見えるのか/why does SQL look AI like
florets1
0
400
なるべく楽してバックエンドに型をつけたい!(楽とは言ってない)
hibiki_cube
0
130
AIで開発はどれくらい加速したのか?AIエージェントによるコード生成を、現場の評価と研究開発の評価の両面からdeep diveしてみる
daisuketakeda
1
930
HTTPプロトコル正しく理解していますか? 〜かわいい猫と共に学ぼう。ฅ^•ω•^ฅ ニャ〜
hekuchan
2
660
AIエージェント、”どう作るか”で差は出るか? / AI Agents: Does the "How" Make a Difference?
rkaga
4
1.9k
AIによるイベントストーミング図からのコード生成 / AI-powered code generation from Event Storming diagrams
nrslib
2
1.7k
IFSによる形状設計/デモシーンの魅力 @ 慶應大学SFC
gam0022
1
270
AIエージェントの設計で注意するべきポイント6選
har1101
7
3.3k
MUSUBIXとは
nahisaho
0
100
Fragmented Architectures
denyspoltorak
0
140
Featured
See All Featured
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
58
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.4k
Done Done
chrislema
186
16k
Rails Girls Zürich Keynote
gr2m
96
14k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
440
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
240
Faster Mobile Websites
deanohume
310
31k
Typedesign – Prime Four
hannesfritz
42
2.9k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
280
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
The Limits of Empathy - UXLibs8
cassininazir
1
210
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