Arquitetura selecionada
Microfrontends
Microfrontends permitem que partes da experiência sejam desenvolvidas, publicadas e operadas por times diferentes. Normalmente existe um shell que compõe apps remotos.
Estrutura de pastas
Navegue pelos arquivos para ver como a arquitetura aparece no código.
export const routes = [
{
path: 'checkout',
loadChildren: () => loadRemoteModule('checkout', './Routes'),
},
];Prós
- Times podem entregar partes do produto de forma independente.
- Ajuda em organizações grandes com domínios bem separados.
- Permite evolução gradual de tecnologias em alguns cenários.
Contras
- Aumenta complexidade de deploy, observabilidade e integração.
- Pode prejudicar performance se a composição não for cuidadosa.
- Exige contratos fortes de navegação, estado, autenticação e design.
Quando usar
- Produtos grandes mantidos por múltiplos times autônomos.
- Domínios com ciclos de release diferentes.
- Cenários em que independência operacional vale mais que simplicidade.
Exemplo real
Um marketplace no qual times separados cuidam de busca, conta, pedidos, pagamentos e suporte.
Cenário prático
O shell controla navegação, autenticação e layout base, enquanto os remotes `catalog`, `checkout` e `account` são publicados por times diferentes.
Como implementar
- Defina um shell leve responsável por composição, rotas globais e contratos compartilhados.
- Publique cada microfrontend com pipeline e versionamento próprios.
- Padronize autenticação, design system, telemetria e comunicação entre remotes.
Cuidado comum
Dividir cedo demais cria custo operacional alto sem autonomia real entre times.