Replies: 12 comments 2 replies
-
Tu tem que entender se teu backend vai ter só um dóminio no caso dessa aplicação. Se você splitar para microserviços fica difícil. Já que são vários endpoints as vezes até em dóminios diferente. O principal problema desse modelo é escalar para outros domínios e também vários serviços. Porque querendo ou não fica um modelo monolitico. Deploy também é uma dor porque se tu mexer só no backend, o frontend vai ter que subir.
Aqui é flexibilidade, você pode tratar de diversos domínios. Você pode entrar numa arquitetura de microserviços. Ter uma app desacoplada traz vários beneficios, mas é verdade também que esse modelo te traz uma complexidade que vale a pena discutir em outra issue. Nesse modelo você pode trabalhar no modelo SPA enquanto teu backend funciona no modelo Funcional por exemplo. Ou seja tu traz uma arquitetura para o frontend, tu desacopla a arquitetura do backend pra usar o modelo que eles quiserem e etc. Problema desse modelo, agora você traz pra tua vida uma complexidade que não era comum (microserviços, middlewares, arquiteturas de banco de dados e etc). Aqui uma virtude é te traz muito mais escalabilidade, mas com isso vem a complexidade. Bom pra decisão de um ou de outro, imagine o seguinte: Tu tem que decidir se esse sistema vai crescer e tem que ver se tu tem maturidade pra trabalhar com diferentes arquiteturas. Porque na real definir a melhor arquitetura tu vai comprar o primeiro débito ai, afinal muitas coisas podem acontecer no meio do caminho. Aqui onde trabalho trouxemos microserviço, trouxemos pequenas apps frontend ao invés de ser uma spa gigante, trouxemos docker, kubernets, diferentes data base, middlewares node, apis .net de diferentes domínios. Porque acreditamos que precisamos escalar muito e isso é uma característica. Não é por isso que diria a ti escolha esse modelo se tu precisa de um sistema de crud simples pra gerênciar vendas da tua loja virtual. |
Beta Was this translation helpful? Give feedback.
-
Posso estar enganado, mas não vejo muitas vantagens em misturar as camadas. Recentemente, iniciei um projeto MEAN, e uma das primeiras decisões que tomamos foi desacoplar o máximo possível front e back, coisa que não havia sido feita em projetos anteriores. No nosso caso, uma das maiores motivações (além da organização, claro), foi a liberdade de pensar o lado Rest da forma mais genérica possível, independente de qual tipo de aplicação e dispositivos venham a consumi-la. |
Beta Was this translation helpful? Give feedback.
-
Eu tive essa dúvida recentemente. Estou desenvolvendo um sistema na empresa que trabalho e escolhi fazer o back-end como API e o front sendo uma SPA. Ou seja, estão desacoplados. Antes de tudo, veja a necessidade do seu projeto. Faça perguntas como: qual é o tamanho? Precisa escalar? Será apenas para web ou também terá aplicativo? Qual é o tempo para desenvolver? Tenho prazo para usar uma arquitetura mais complexa? Dito isso, aqui vão algumas considerações: Back-end separado Back-end acoplado |
Beta Was this translation helpful? Give feedback.
-
Pessoal, tenho o frontend e backend separados. Como faço pra criar um repositório com os dois projetos? |
Beta Was this translation helpful? Give feedback.
-
@renzorodrigues, vc precisa criar uma "Organização" dentro do Github e na hora de criar um repositório, você "seta" qual organização ele faz parte. |
Beta Was this translation helpful? Give feedback.
-
Com certeza separado é bem melhor, assim você ganha muito com escalabilidade, manutenção, organização, etc... |
Beta Was this translation helpful? Give feedback.
-
Existe alguma regra de nomenclatura para os projetos? ex: o front: projetoFront |
Beta Was this translation helpful? Give feedback.
-
Acredito que não exista uma regra, da forma que você colocou(projetoFront e projetoBack) já deixa bem clara a responsabilidade de cada um. Já estamos acostumados a este padrão, é o padrão estabelecido pela empresa. Você(ou sua empresa) pode criar o seu. |
Beta Was this translation helpful? Give feedback.
-
Alguém teria algum projeto com frontend e backend desacoplados para exemplificar melhor a discussão? |
Beta Was this translation helpful? Give feedback.
-
Digamos que você é uma costureira e vai começar a trabalhar por conta própria. Você, de início, financiaria um galpão de 1000 m2 com 3 máquinas de costura profissionais? Ou você começaria numa garagem com uma plaquinha improvisada? Esse exemplo é só pra mostrar que o argumento de que "um dia vamos escalar" pode ser ilusório. Claro, todas empresas esperam ter milhões de acessos simultâneos, já que isso está atrelado ao sucesso do negócio. Mas na realidade, quantas realmente precisam? Depende do que você quer. As vezes vale mais a pena começar com tudo acoplado e desacoplar depois, quando o negócio está dando dinheiro e você pode pagar um desenvolvedor mais habilitado pra lidar com as complexidades que virão com o desacoplamento. |
Beta Was this translation helpful? Give feedback.
-
Pessoal, criei uma discussão sobre um tema que acho que é relacionado a este mas um pouco mais "evoluído" talvez. Compareçam aqui #2302 e deixem sua experiência! |
Beta Was this translation helpful? Give feedback.
-
Olá, pessoal. Vantagens e desvantagens de um backend separado do frontend:
Vantagens e desvantagens de um backend junto com o front, mesmo que o backend só sirva API para o front consumir:
Notas gerais
|
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Pensando em arquitetura, o que faz mais sentido:
Quais as vantagens e desvantagens?! 🤔
Beta Was this translation helpful? Give feedback.
All reactions