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
28
BFF com GraphQL e NodeJS
Tais Duarte
August 04, 2024
Tweet
Share
More Decks by Tais Duarte
See All by Tais Duarte
Cuide bem do seu front-end: boas práticas para um código saudável
taisreisdev67
0
3
Monitoramento e Observabilidade no Frontend
taisreisdev67
0
110
Como tornar minha aplicação observável?
taisreisdev67
0
32
Construindo um BFF com PHP
taisreisdev67
0
35
GraphQL: A QUERY LANGUAGE FOR YOUR API
taisreisdev67
0
24
BOOTSTAP 4 TUDO O QUE VOCÊ PRECISA SABER
taisreisdev67
0
16
DESMISTIFICANDO O JAVASCRIPT
taisreisdev67
0
31
Other Decks in Technology
See All in Technology
顧客の言葉を、そのまま信じない勇気
yamatai1212
1
340
変化するコーディングエージェントとの現実的な付き合い方 〜Cursor安定択説と、ツールに依存しない「資産」〜
empitsu
4
1.3k
使いにくいの壁を突破する
sansantech
PRO
1
120
2026年、サーバーレスの現在地 -「制約と戦う技術」から「当たり前の実行基盤」へ- /serverless2026
slsops
2
210
生成AI時代にこそ求められるSRE / SRE for Gen AI era
ymotongpoo
5
2.7k
IaaS/SaaS管理における SREの実践 - SRE Kaigi 2026
bbqallstars
4
1.7k
Claude_CodeでSEOを最適化する_AI_Ops_Community_Vol.2__マーケティングx_AIはここまで進化した.pdf
riku_423
2
450
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
6
67k
10Xにおける品質保証活動の全体像と改善 #no_more_wait_for_test
nihonbuson
PRO
2
200
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
10k
GCASアップデート(202510-202601)
techniczna
0
250
GitHub Issue Templates + Coding Agentで簡単みんなでIaC/Easy IaC for Everyone with GitHub Issue Templates + Coding Agent
aeonpeople
1
180
Featured
See All Featured
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
320
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
0
270
So, you think you're a good person
axbom
PRO
2
1.9k
Mind Mapping
helmedeiros
PRO
0
77
Automating Front-end Workflow
addyosmani
1371
200k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
110
Odyssey Design
rkendrick25
PRO
1
490
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
63
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
580
How to train your dragon (web standard)
notwaldorf
97
6.5k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.9k
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!