Executando verificação de segurança...
1

Front: apenas visualização, Back: Todo o resto.

existe o outro lado em que encher o back de endpoints pode te causar uma dor de cabeça devido a perda de clareza, duplicação de código, escabilidade ruim, problemas de segurança e por aí vai.

Quanto mais genérico for seu endpoint mais parâmetros ele vai ter que aceitar, mais casos de uso ele vai ter que suportar, mais complexo ele vai ficar, a lógica é exatamente o contrário.

Quando mais específico for o endpoint mais fácil vai ser a manutenção, mais leve vai ser o processamento.

Essa história de fazer um endpoint com GraphQL para escalabilidade não tem nada a ver com performance, tem a ver com hora de desenvolvimento, quando as features precisavam ser lançadas o mais rápido possível.

GraphQL serve muito bem para contexto de redes sociais onde os dados podem ter as estruturas mais variadas possíveis, e o sistema tem que se adaptar a novas variações de forma muito rápida.

Um app de controle de gastos vai ter essa complexidade e variação toda?


não seria melhor adicionar essa lógica no back? deixar o front com as manipulações de exibição?

Aqui a pergunta é: De quantos dados estamos falando?

Se for poucos: separa no front

Agora se for muitos dados teria que trazer do back só o necessário, paginado e, no mínimo, com uma rolagem infinita, onde os dados são carregados conforme o necessário.

Carregando publicação patrocinada...
1

Quanto mais genérico for seu endpoint mais parâmetros ele vai ter que aceitar, mais casos de uso ele vai ter que suportar, mais complexo ele vai ficar, a lógica é exatamente o contrário.

entendi o seu ponto. acho que dá pra levantar umas hipóteses. por exemplo, eu pretendo criar novas features futuramente: jogo todas elas no back? eu levantei um ponto relacionado a clareza da API, o que você acha disso? acredito que colocar vários endpoints também é adicionar mais uma camada de complexidade ao código já que existe a chance de ficar confusa para quem consome.

eu só quero levantar essa discussão para entender a opinião de quem vê o post, porque acho muito interessante. no final do dia, tudo vai depender da complexidade do projeto. valeu pelo o comentário!

1

eu pretendo criar novas features futuramente: jogo todas elas no back? eu levantei um ponto relacionado a clareza da API, o que você acha disso?

Não tenho como responder essas dúvidas sem ver como seu projeto está estruturado. Isso é realmente uma dúvida que depende do contexto.

acredito que colocar vários endpoints também é adicionar mais uma camada de complexidade ao código já que existe a chance de ficar confusa para quem consome.

Aqui tem que haver uma separação, você está fazendo uma API pública para todos usarem, ou uma API privada para seu APP usar?

São coisas totalmente diferentes que devem ser arquitetadas de formas diferentes

Se for uma API privada, só para seu app usar, temos um pouco mais liberdade de aumentar a quantidade de endpoints para coisas extremamente específicas. 99% dos endpoints das apis dos meus apps só são chamadas em um único lugar.

1