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
Do RPC ao GraphQL
Search
Alan Michel Willms Quinot
January 14, 2019
Programming
0
45
Do RPC ao GraphQL
Alan Michel Willms Quinot
January 14, 2019
Tweet
Share
More Decks by Alan Michel Willms Quinot
See All by Alan Michel Willms Quinot
JWT
alanwillms
0
59
Webpack ❤ Vue.js
alanwillms
0
29
PHP – principais novidades do 5.3 ao 5.6
alanwillms
0
60
Other Decks in Programming
See All in Programming
CSC509 Lecture 05
javiergs
PRO
0
300
組込みだけじゃない!TinyGo で始める無料クラウド開発入門
otakakot
0
200
Devoxx BE - Local Development in the AI Era
kdubois
0
120
登壇は dynamic! な営みである / speech is dynamic
da1chi
0
270
Cursorハンズオン実践!
eltociear
2
860
複雑化したリポジトリをなんとかした話 pipenvからuvによるモノレポ構成への移行
satoshi256kbyte
1
1k
NixOS + Kubernetesで構築する自宅サーバーのすべて
ichi_h3
0
500
Cloudflare AgentsとAI SDKでAIエージェントを作ってみた
briete
0
140
dynamic!
moro
10
7.2k
Things You Thought You Didn’t Need To Care About That Have a Big Impact On Your Job
hollycummins
0
210
非同期jobをtransaction内で 呼ぶなよ!絶対に呼ぶなよ!
alstrocrack
0
660
Serena MCPのすすめ
wadakatu
4
960
Featured
See All Featured
Bash Introduction
62gerente
615
210k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
51k
Documentation Writing (for coders)
carmenintech
75
5k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
620
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.6k
Speed Design
sergeychernyshev
32
1.1k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
860
Building Flexible Design Systems
yeseniaperezcruz
329
39k
The Cult of Friendly URLs
andyhume
79
6.6k
Transcript
None
Era uma vez….
XML é supimpa! • RPC: Remote Procedure Call ◦ Via
HTTP • SOAP: Service Oriented Architecture Protocol ◦ Via HTTP, FTP, SMTP e outros
None
None
REST: Representational State Transfer • URL representa um recurso •
Métodos HTTP representam ações
Método URL Descrição GET /pessoas Lista todos GET /pessoas/42 Mostra
um registro POST /pessoas Cria um registro PATCH ou PUT /pessoas/42 Atualiza um registro DELETE /pessoas/42 Exclui um registro
CHEGUEI!
JSON: JavaScript Object Notation • Mais legível • Compacto •
Rápido • Língua dos browsers
Asynchronous JavaScript And XML
Asynchronous JavaScript And XML ???
Asynchronous JavaScript And JSON!!! AJAJ?
REST JSON AJAX WEB 2.0
Eu quero os dados de: • Uma pessoa • +
os comentários dela • + os pedidos mais recentes dela
Eu quero os dados de: • /v1/pessoas/123 • /v1/pessoas/123/comentarios •
/v1/pessoas/123/pedidos/recentes
Eu quero os dados de: • /v1/pessoas/123?extra=comentarios, pedidos-recentes
GraphQL
GraphQL • Consultas (queries) e interações (mutations) • A consulta
descreve o formato da resposta • Não requer uma tecnologia específica • Não requer HTTP • A implementação gera a documentação
Queries
Mutations
Subscriptions
None
None
None
None
None
None
None
None
None
None
None
Tipos do GraphQL • Escalares (Int, Float, String, Boolean, ID)
• Objetos • Listas • Input • Non-null • Avançado: enum, union, interfaces, etc.
None
Versionamento Vocês já viram isso? /v1/listaPedidos /v2/pedidos /v3/orders ...
None
None
None
None
Bibliotecas para C# / .NET • graphql-dotnet • graphql-net •
Hot Chocolate • etc. JÁ ESCOLHEU?
Referências • https://stackoverflow.com/questions/4862310/js on-and-xml-comparison • https://facebook.github.io/graphql/June2018/ • https://graphql.org/