Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
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
280
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
AIエンジニアリングのご紹介 / Introduction to AI Engineering
rkaga
4
1.5k
Developing static sites with Ruby
okuramasafumi
0
190
バックエンドエンジニアによる Amebaブログ K8s 基盤への CronJobの導入・運用経験
sunabig
0
140
全員アーキテクトで挑む、 巨大で高密度なドメインの紐解き方
agatan
8
19k
Integrating WordPress and Symfony
alexandresalome
0
130
TypeScriptで設計する 堅牢さとUXを両立した非同期ワークフローの実現
moeka__c
6
2.9k
【Streamlit x Snowflake】データ基盤からアプリ開発・AI活用まで、すべてをSnowflake内で実現
ayumu_yamaguchi
1
110
著者と進める!『AIと個人開発したくなったらまずCursorで要件定義だ!』
yasunacoffee
0
120
【CA.ai #3】ワークフローから見直すAIエージェント — 必要な場面と“選ばない”判断
satoaoaka
0
230
関数の挙動書き換える
takatofukui
4
770
Tinkerbellから学ぶ、Podで DHCPをリッスンする手法
tomokon
0
100
社内オペレーション改善のためのTypeScript / TSKaigi Hokuriku 2025
dachi023
1
540
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.1k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.8k
Producing Creativity
orderedlist
PRO
348
40k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
Why You Should Never Use an ORM
jnunemaker
PRO
60
9.6k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
1k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Statistics for Hackers
jakevdp
799
230k
Being A Developer After 40
akosma
91
590k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.3k
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