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
Getting Started with GraphQL
Search
Shodipo Ayomide
May 04, 2019
Programming
1
230
Getting Started with GraphQL
Getting Started with GraphQL talk at Full Stack Developers Conference Lagos.
Shodipo Ayomide
May 04, 2019
Tweet
Share
More Decks by Shodipo Ayomide
See All by Shodipo Ayomide
SINFO Keynote - Technical Principles of Developer Experience (DX)
developerayo
0
45
MautiCon - The Ideal Community Model: Lessons Learned
developerayo
0
54
Global Accessibility: The Future is Open - unStack Keynote
developerayo
0
58
Fast and Furious with VueJS & WebPack
developerayo
0
95
Automate Workflow processes using GitHub Actions
developerayo
0
100
Building A React App With Web And Mobile In Mind
developerayo
1
81
Design From The Realm of Open-Source
developerayo
0
41
Design From The Dimension of Open-Source - Shodipo Ayomide - React Finland
developerayo
0
73
Optimizing for Super Sonic Speed in Vue.js & Gridsome
developerayo
0
320
Other Decks in Programming
See All in Programming
時間軸から考えるTerraformを使う理由と留意点
fufuhu
16
4.8k
Android 16 × Jetpack Composeで縦書きテキストエディタを作ろう / Vertical Text Editor with Compose on Android 16
cc4966
2
270
250830 IaCの選定~AWS SAMのLambdaをECSに乗り換えたときの備忘録~
east_takumi
0
400
Cache Me If You Can
ryunen344
2
4k
アルテニア コンサル/ITエンジニア向け 採用ピッチ資料
altenir
0
110
AIと私たちの学習の変化を考える - Claude Codeの学習モードを例に
azukiazusa1
11
4.4k
ファインディ株式会社におけるMCP活用とサービス開発
starfish719
0
2.1k
テストカバレッジ100%を10年続けて得られた学びと品質
mottyzzz
2
610
個人開発で徳島大学生60%以上の心を掴んだアプリ、そして手放した話
akidon0000
1
150
Design Foundational Data Engineering Observability
sucitw
3
210
Performance for Conversion! 分散トレーシングでボトルネックを 特定せよ
inetand
0
3.4k
testingを眺める
matumoto
1
140
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
Gamification - CAS2011
davidbonilla
81
5.4k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
The Art of Programming - Codeland 2020
erikaheidi
56
13k
Agile that works and the tools we love
rasmusluckow
330
21k
Building an army of robots
kneath
306
46k
Transcript
Shodipo Ayomide (@developerayo) | Full Stack Developers Conference)
Hello! 2
What is GraphQL 3
4 GraphQL is a syntax that describes how to ask
for data, and is generally used to load data from a server to a client. In other words
5 GraphQL is a query language for your API
6
7 JavaScript Typescript Ruby PHP Python Java C/C++ Perl .NET
Erlang Elixar Haskel Rust Lua Scala Clojure ClojureScript Swift OCaml SQL R Elm GraphQL supports a whole lot of languages and frameworks
8 GraphQL supports a whole lot of languages and frameworks
Kotlin GO Crystal
Companies using GraphQL 9 http://blog.honeypot.io/assets/images/ql-companies.png
Let that sink in! 10 REST APIs returns resources you
do not need, that’s why you have a bunch of endpoint’s you do not need
11
12 GraphQL To The Rescue
Ask for what you need, and get exactly that. NO
EXTRAS 13 Send a GraphQL query to your API and get exactly what you need, nothing more and nothing less. Apps using GraphQL are fast and stable because they control the data they get, not the server.
14 { viewer { name email } } Example
15 { viewer { name email } } Example
16 { "data": { "viewer": { "name": "Shodipo Ayomide", "email":
"
[email protected]
" } } } { viewer { name email } } POST: https://api.github.com/graphql
17 { user(login: "developerayo") { name location repositories { name
} } } Example
18 { user(login: "developerayo") { name location repositories { name
} } } POST: https://api.github.com/graphql { "data": { "user": { "name": “Shodipo Ayomide", "location": “Lagos, Nigeria", "repositories": [ { "name": “awesome-nuxtjs" }, { "name": “react-notify" }, { "name": “shodipoayomide.com" }, ... } } }
Versioning made easy 19 Add new fields and types to
your GraphQL API without impacting existing queries “think GitHub PR”. encourage cleaner, more maintainable server code.
20 GET /GraphQL Request Body Response Body query { post(id:
1) { id title tagline votesCount commentsCount thumbnailUrl hunter: { id avatarUrl } } }
21 GET /GraphQL Request Body Response Body query { post(id:
1) { id title tagline votesCount commentsCount thumbnailUrl hunter: { id avatarUrl } } }
22 GET /GraphQL Request Body Response Body query { post(id:
1) { id title tagline votesCount commentsCount thumbnailUrl hunter: { id avatarUrl } } } { "data": { "post": { "id": 1, "title": "Developerayo’s Blog", "tagline": "Articles on Soft.", "votesCount": 490, "commentsCount": 7,648, "thumbnailUrl": "google.com/tbn" "hunter": { "id": 1, "avatarUrl": "google.com/tbn" } } } }
23 A little Workshop Open CodeSandBox
The Apollo GraphQL platform is an implementation of GraphQL that
helps you manage data from the cloud to your UI. Got any questions about apollo? speak to @unicodeveloper https://www.apollographql.com
None
None
None
There is no Limit to what you can build 28
GraphQL Tools 29
GraphQL CSS 30 graphql-css is a blazing fast CSS-in-GQL library
that converts GraphQL queries into styles for your components https://github.com/braposo/graphql-css
GraphiQL 31 An interactive in-browser GraphQL IDE tool for GraphQL
https://github.com/graphql/graphiql
Graphcool 32 Self-Hosted GraphQL BaaS (Backend as a Service) https://www.graph.cool/
a GraphQL backend for your applications with a powerful web ui for managing your database and stored data
READY TO LEARN GRAPHQL? 33
Resources 34 GraphQL: https://graphql.org Apollo graphql: https://apollographql.com GraphiQL: https://github.com/graphql/graphiql Let’s
Learn GraphQL by Sara Vieira https://letslearngraphql.com/ How to GraphQL: https://howtographql.com GraphQL CSS https://github.com/braposo/graphql-css
35
Thanks! Any questions? You can find me @developerayo on Twitter,
GitHub, Everywhere Read some blog post here https://shodipoayomide.com 36