Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Getting Started with GraphQL
Search
Shodipo Ayomide
May 04, 2019
Programming
280
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Getting Started with GraphQL
Getting Started with GraphQL talk at Full Stack Developers Conference Lagos.
Shodipo Ayomide
May 04, 2019
Transcript
36 slides
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
More Decks by Shodipo Ayomide
See All by Shodipo Ayomide
SINFO Keynote - Technical Principles of Developer Experience (DX)
developerayo
0
63
MautiCon - The Ideal Community Model: Lessons Learned
developerayo
0
85
Global Accessibility: The Future is Open - unStack Keynote
developerayo
0
75
Fast and Furious with VueJS & WebPack
developerayo
0
130
Automate Workflow processes using GitHub Actions
developerayo
0
140
Building A React App With Web And Mobile In Mind
developerayo
1
120
Design From The Realm of Open-Source
developerayo
0
86
Design From The Dimension of Open-Source - Shodipo Ayomide - React Finland
developerayo
0
96
Optimizing for Super Sonic Speed in Vue.js & Gridsome
developerayo
0
350
Other Decks in Programming
See All in Programming
graphql-ruby を Spinel で速くしようとした話
mtsmfm
0
140
Enforcing Your Architecture with Unit Tests in the AI Era (Swift Connection X)
steliosf
PRO
1
170
TanStack Vue Query と Pinia Colada から学ぶ非同期状態の型設計
aoshi
0
660
まずはコードより業務と向き合う:テーブル解体のためにPdMを呼んだ話
sakawe_ee
0
220
GraphQL の onError と Nullability のこれから
quramy
0
210
Vue.jsで作る空間解析アプリとCapacitorプラグインのData Bridge
hal_spidernight
1
170
はじめてのPLATEAU
nokonoko1203
1
640
baseline으로 마이그레이션, 리팩토링 안전하게 맡기기
fornewid
1
980
Rails初心者がパスキーを実装してみて大変だったこと
ktombow
0
180
AI時代のシニアエンジニアとは
yosuke_furukawa
PRO
15
12k
AIで開発が速くなった先で、開発チームは何を目指すか
shihochan
1
2k
Lambda durable functionsでHuman in the Loopを楽に…楽に……
har1101
2
300
Featured
See All Featured
Done Done
chrislema
187
17k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
1
300
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
68
60k
Thoughts on Productivity
jonyablonski
76
5.5k
Building Applications with DynamoDB
mza
96
7.3k
Amusing Abliteration
ianozsvald
1
390
Facilitating Awesome Meetings
lara
57
7.2k
BBQ
matthewcrist
90
10k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.9k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
560
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.2k