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
Query data like a pro - an introduction to GraphQL
Search
Eric
October 27, 2016
Programming
0
63
Query data like a pro - an introduction to GraphQL
An introduction talk about GraphQL given at the React Kiel Meetup Germany.
Eric
October 27, 2016
Tweet
Share
Other Decks in Programming
See All in Programming
humanlayerのブログから学ぶ、良いCLAUDE.mdの書き方
tsukamoto1783
0
200
[KNOTS 2026登壇資料]AIで拡張‧交差する プロダクト開発のプロセス および携わるメンバーの役割
hisatake
0
290
2026年 エンジニアリング自己学習法
yumechi
0
140
Package Management Learnings from Homebrew
mikemcquaid
0
230
そのAIレビュー、レビューしてますか? / Are you reviewing those AI reviews?
rkaga
6
4.6k
AIによるイベントストーミング図からのコード生成 / AI-powered code generation from Event Storming diagrams
nrslib
2
1.9k
Oxlintはいいぞ
yug1224
5
1.3k
「ブロックテーマでは再現できない」は本当か?
inc2734
0
1k
生成AIを使ったコードレビューで定性的に品質カバー
chiilog
1
270
【卒業研究】会話ログ分析によるユーザーごとの関心に応じた話題提案手法
momok47
0
200
AI時代の認知負荷との向き合い方
optfit
0
160
Patterns of Patterns
denyspoltorak
0
1.4k
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
247
13k
Designing for Performance
lara
610
70k
How to make the Groovebox
asonas
2
1.9k
Building the Perfect Custom Keyboard
takai
2
690
Skip the Path - Find Your Career Trail
mkilby
0
57
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
910
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Odyssey Design
rkendrick25
PRO
1
500
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
430
How to Ace a Technical Interview
jacobian
281
24k
Chasing Engaging Ingredients in Design
codingconduct
0
110
Transcript
QUERY DATA LIKE A PRO! AN INTRODUCTION TO GRAPHQL PRESENTED
BY ERIC STUMPER 1 / 19
DISCLAIMER 2 / 19
ABOUT ME Developing Software at weluse GmbH for amazing 2.5
months Worked as a Frontend Developer and IT/Networking guy before Started out with React, Elixir/Phoenix and GraphQL in my Master's Thesis Besides coding I love travelling, hiking, indoor and beach volleyball Twitter: @ericstumper 3 / 19
CONTENTS REST in peace? GraphQL to the rescue Connecting React
What about the server? The new shit! 4 / 19
REST IN PEACE? http://api.com/user/1 { "user": { "id": "1", "name":
"Eric", "email": "
[email protected]
", "friends": [ "/user/20/", "/user/30/" ] } } 5 / 19
GRAPHQL TO THE RESCUE query { user { id name
email friends { name } } } 6 / 19
QUERY PARAMETERS QUERY VARIABLES query { user(id: 1) { name
} } query User($userId: ID!) { user(id: $userId) { name } } { "userId": 1 } 7 / 19
DIRECTIVES query User($userId: ID!, $friends: Boolean!) { user(userID: $userId) {
name email friends @include(if: $friends) { name } } } 8 / 19
MUTATIONS mutation CreateUser($name: String!) { createUser(name: $name) { id }
} { "name": "Peter" } 9 / 19
FRAGMENTS { leftComparison: user(department: BILLING) { ...comparisonFields } rightComparison: user(department:
IT) { ...comparisonFields } } fragment comparisonFields on Person { name friends { name } } 10 / 19
CONNECTING REACT 11 / 19
WHAT ABOUT THE SERVER? 12 / 19
A SCHEMA AND TYPES IN ABSINTHE (ELIXIR) 13 / 19
THE NEW SHIT! 14 / 19
@DEFER query User($userId: ID!) { user(userID: $userId) { name email
friends @defer { name } } } 15 / 19
@STREAM query Users { users @stream { name email friends
@defer { name } } } 16 / 19
@LIVE query Users { users { name email friends @live
{ name } } } 17 / 19
SUBSCRIPTIONS subscription Users { users { name email } }
18 / 19
LINKS GENERAL SERVER CLIENT http://graphql.org/learn/ https://learngraphql.com/ https://wehavefaces.net/graphql-shorthand-notation-cheatsheet- 17cd715861b6#.c3z77kes8 Node: https://github.com/graphql/express-graphql
Node: http://dev.apollodata.com/tools/ Elixir: http://absinthe-graphql.org http://dev.apollodata.com/react/ https://facebook.github.io/relay/ https://github.com/kadirahq/lokka 19 / 19