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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Tais Duarte
August 04, 2024
Technology
30
0
Share
BFF com GraphQL e NodeJS
Tais Duarte
August 04, 2024
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
5
Monitoramento e Observabilidade no Frontend
taisreisdev67
0
120
Como tornar minha aplicação observável?
taisreisdev67
0
34
Construindo um BFF com PHP
taisreisdev67
0
37
GraphQL: A QUERY LANGUAGE FOR YOUR API
taisreisdev67
0
30
BOOTSTAP 4 TUDO O QUE VOCÊ PRECISA SABER
taisreisdev67
0
18
DESMISTIFICANDO O JAVASCRIPT
taisreisdev67
0
32
Other Decks in Technology
See All in Technology
EBS暗号化に失敗してEC2が動かなくなった話
hamaguchimmm
2
210
巨大プラットフォームを進化させる「第3のROI」
recruitengineers
PRO
2
330
Amazon S3 Filesについて
yama3133
2
210
生成AIが変える SaaS の競争原理と弁護士ドットコムのプロダクト戦略
bengo4com
1
1.4k
260420_スマートホーム採用説明 - wakinchan
wakinchan
0
120
AI와 협업하는 조직으로의 여정
arawn
0
500
弁護士ドットコム株式会社 エンジニア職向け 会社紹介資料
bengo4com
1
170
AI: Making Admin and Users, Lives Better
kbmsg
0
110
20260423_執筆の工夫と裏側 技術書の企画から刊行まで / From the planning to the publication of technical book
nash_efp
3
420
CloudTrail を見つめ直してみる
kazzpapa3
1
100
データ定義の混乱と戦う 〜 管理会計と財務会計 〜
wonohe
0
110
バイブコーディングで3倍早く⚪⚪を作ってみた
samakada
0
110
Featured
See All Featured
The browser strikes back
jonoalderson
0
980
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
200
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.7k
Tell your own story through comics
letsgokoyo
1
900
Building Adaptive Systems
keathley
44
3k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.9k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.1k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
510
Code Review Best Practice
trishagee
74
20k
Darren the Foodie - Storyboard
khoart
PRO
3
3.3k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
220
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!