Voltar para lista

13 de 13 visíveis

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.

Navegue pelos arquivos para ver como a arquitetura aparece no código.

Microfrontends

Caminhoshell/src/app/app.routes.ts

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.