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
BFF com GraphQL e NodeJS
Search
Tais Duarte
August 04, 2024
Technology
0
21
BFF com GraphQL e NodeJS
Tais Duarte
August 04, 2024
Tweet
Share
More Decks by Tais Duarte
See All by Tais Duarte
Monitoramento e Observabilidade no Frontend
taisreisdev67
0
82
Como tornar minha aplicação observável?
taisreisdev67
0
28
Construindo um BFF com PHP
taisreisdev67
0
27
GraphQL: A QUERY LANGUAGE FOR YOUR API
taisreisdev67
0
21
BOOTSTAP 4 TUDO O QUE VOCÊ PRECISA SABER
taisreisdev67
0
14
DESMISTIFICANDO O JAVASCRIPT
taisreisdev67
0
28
Other Decks in Technology
See All in Technology
SAE J1939シミュレーション環境構築
daikiokazaki
1
200
反脆弱性(アンチフラジャイル)とデータ基盤構築
cuebic9bic
2
130
AIに全任せしないコーディングとマネジメント思考
kikuchikakeru
0
320
生成AIによる情報システムへのインパクト
taka_aki
1
220
興味の胞子を育て 業務と技術に広がる”きのこ力”
fumiyasac0921
0
470
AI時代の経営、Bet AI Vision #BetAIDay
layerx
PRO
1
510
「育てる」サーバーレス 〜チーム開発研修で学んだ、小さく始めて大きく拡張するAWS設計〜
yu_kod
1
220
【Λ(らむだ)】最近のアプデ情報 / RPALT20250729
lambda
0
190
地域コミュニティへの「感謝」と「恩返し」 / 20250726jawsug-tochigi
kasacchiful
0
110
製造業の課題解決に向けた機械学習の活用と、製造業特化LLM開発への挑戦
knt44kw
0
110
増え続ける脆弱性に立ち向かう: 事前対策と優先度づけによる 持続可能な脆弱性管理 / Confronting the Rise of Vulnerabilities: Sustainable Management Through Proactive Measures and Prioritization
nttcom
1
230
手動からの解放!!Strands Agents で実現する総合テスト自動化
ideaws
3
430
Featured
See All Featured
For a Future-Friendly Web
brad_frost
179
9.8k
How to Ace a Technical Interview
jacobian
278
23k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
Designing for Performance
lara
610
69k
Faster Mobile Websites
deanohume
308
31k
Rails Girls Zürich Keynote
gr2m
95
14k
A designer walks into a library…
pauljervisheath
207
24k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
530
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.4k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
Balancing Empowerment & Direction
lara
1
510
Transcript
BFF com GraphQL e NodeJS FRONTIN Elas Programam 2023
+10 anos como Desenvolvedora Graduada em Jogos Digitais Sênior Software
Engineer na Creditas Apoiadora do PHPWomenBR Esposa do Valter e Mãe do Joaquim sou a Tais Prazer, @taisreis67
BFF? O que é De onde veio, onde vive e
qual problema veio resolver? 🤔
Best Friends Forever
Best Friends Forever
O Backend For Frontend, ou BFF, é um padrão de
arquitetura que tem como objetivo facilitar a comunicação entre aplicações clientes e o backend. Ok, mas para o quê e como eu uso isso?
Monolito API Web
Temos uma comunicação direta entre uma API e um cliente.
Tudo bem por enquanto
Micro Serviços User API Web Books API Auth API
Temos uma comunicação direta, mas agora entre um cliente e
3 micro serviços. Agora o cliente precisar fazer várias requisições para compor uma página
E se tivermos mais clientes? User API Web Books API
Auth API Mobile Parceiro
É aqui que o BFF nos ajuda 😉 Temos 3
clientes se comunicando com os micro serviços e os clientes Parceiro e Mobile precisa de dados e comportamentos diferentes dos outros.
User API Web Books API Auth API Mobile Parceiro Backend
For Frontend BFF BFF BFF
Agora os clientes terão autonomia para poder utilizar os micro
serviços de acordo com o que eles precisam independente de outros clientes. Cada cliente agora tem seu backend personalizado 😉
Porém como desvantagens temos mais aplicações para dar manutenção, monitorar,
fazer o deploy… Devemos analisar se temos como manter 🤔
um BFF? Como criar Vamos ver um exemplo de BFF
com GraphQL e NodeJS
Quais tecnologias vamos usar?
É uma Query Language para APIs que permite com que
o cliente peça exatamente os dados que ele precisa. O que é GraphQL? fonte: graphql.org
É um servidor GraphQL que nos dá uma série de
ferramentas que nos ajuda a trabalhar com o GraphQL. O que é Apollo Server? fonte: apollographql.com
Nosso Service Web Nosso exemplo de caso de uso Nosso
BFF
Filme Produtora Como fica a nossa estrutura? Nome Site Id
Titulo
Bora ver o código!
Referências e para saber mais https://philcalcado.com/2015/09/18/the_back_end_for_front_end_pattern_bff.html https://philcalcado.com/2019/07/12/some_thoughts_graphql_bff.html https://medium.com/jeitosanar/backend-for-frontend-uma-estratégia-sob- demanda-para-a-entrega-de-microsserviços-2f12d4cb9e3f https://graphql.org/learn/
https://www.apollographql.com/docs/apollo-server/ https://developers.themoviedb.org/3/getting-started/introduction
Dúvidas? @taisreis67
Obrigada @taisreis67 Qualquer dúvida podem me procurar!