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
Introdução ao GraphQL
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Paulo Pires
April 27, 2019
Programming
67
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Introdução ao GraphQL
Paulo Pires
April 27, 2019
More Decks by Paulo Pires
See All by Paulo Pires
Introdução ao WebAssembly
paulohp
0
71
GraphQL 101
paulohp
0
130
Side Effects: Uma Saga até o React
paulohp
0
100
MobX: State Management made easy
paulohp
0
110
Docker: The Rise of Containers
paulohp
0
140
We Work Remotely
paulohp
2
120
Angular2
paulohp
0
250
Node.js Codelab
paulohp
1
200
NodeBR, um ano memoravel!
paulohp
0
120
Other Decks in Programming
See All in Programming
[2026-09-26]空論ジェネリックプロセス~テスト資産とAIで紡ぐ、再現可能なパフォーマンスチューニングの話~
tosite
0
260
Rでドレミ/Do-Re-Mi_with_R
florets1
0
130
When benchmarks go bad - what I learned from measuring performance wrong
hollycummins
0
190
カツオ、ご期待ください
suneo3476
0
160
AWSに止められる覚悟してますか?
morizo_1984
2
520
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
590
Compiling a real-world CLI tool to native with Static Hermes
tmikov2023
0
100
Ghostty + Neovimで作る 透明でカッコ良い開発環境
j341nono
0
160
Agents on Rails - Rails at Scale 2026
irinanazarova
0
520
Workers Cache を知る
syumai
0
350
複雑なUIコンポーネントとの ⻑い付き合い⽅:波及するバグからテスト戦略を経て、安全な再設計へ
mixplace
0
260
golang-bob.pdf
iwatsukayura
0
100
Featured
See All Featured
Designing Experiences People Love
moore
143
24k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
980
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
BBQ
matthewcrist
90
10k
Fireside Chat
paigeccino
43
4.1k
Testing 201, or: Great Expectations
jmmastey
46
8.3k
Are puppies a ranking factor?
jonoalderson
2
4k
Fantastic passwords and where to find them - at NoRuKo
philnash
53
4k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
320
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
The browser strikes back
jonoalderson
0
1.8k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Transcript
INTRODUÇÃO ao GraphQL @caofrade
Objetivo @caofrade
Novo padrão para API Linguagem de Query Open Source mantido
pelo Facebook @caofrade
Quem usa? @caofrade
@caofrade MUITO CONTEÚDO DISPONÍVEL
@caofrade HYPE?? Qual problema GraphQL resolve mesmo???
@caofrade REST
•Representational State Transfer •Arquitetura baseada em recursos: 1. Entidades do
sistema 2. Identificados por URIs 3. Manipulados por representações (JSON, XML, HTML) @caofrade REST
None
None
@caofrade Problemas •Over-fetching 1. Download de dados desnecessários •Under-fetching: 1.
Acessar mais de 1 endpoint para juntar os dados necessários.
@caofrade
@caofrade CONCEITOS
•Recursos são definidos por um sistema de tipos •Contrato entre
front-end e back-end sobre como a aplicação acessa pode acessar os dados •Schema Definition Language (SDL) @caofrade SCHEMA
None
•No REST, varios endpoints retornam estruturas de dados fixas •Em
GraphQL, existe um único endpoint, onde o cliente determina qual dado é necessário. @caofrade QUERY
None
None
None
None
•Responsável por criar e atualizar dados no back-end. @caofrade MUTATION
None
None
•Query e Mutations precisam ser definidos no Schema! •São os
pontos de entrada das requisições para o backend @caofrade SCHEMA
None
•Um Resolver é uma função que resolve um valor para
um para um Type ou campo em um Schema. •Todos campos em todos Types são servidos por uma função chamada Resolver. @caofrade RESOLVER
None
@caofrade DEMO
@caofrade OBRIGADO!