Skip to content

O que é Tuvix.js?

Tuvix.js é um orquestrador de microfrontends leve e agnóstico de framework para construir aplicações frontend escaláveis compostas por partes implantáveis de forma independente.

O Problema

À medida que os frontends crescem, as aplicações monolíticas de página única tornam-se:

  • Difíceis de escalar entre múltiplas equipes
  • Lentas para compilar e implantar - uma alteração reconstrói tudo
  • Presas a um único framework ou versão
  • Difíceis de testar e compreender de forma isolada

A Solução: Microfrontends

Microfrontends aplicam princípios de microsserviços ao frontend. Cada micro app é:

  • Desenvolvida independentemente - base de código separada, equipe separada
  • Implantada independentemente - seu próprio pipeline de CI/CD
  • Agnóstica de framework - uma equipe usa React, outra Vue, outra Svelte

Tuvix.js fornece o shell - a camada fina de orquestração que carrega, monta e coordena todas as micro apps em tempo de execução.

Arquitetura

┌─────────────────────────────────────────────┐
│                Tuvix.js Shell               │
│                                             │
│  ┌────────────┐  ┌──────────┐  ┌────────┐  │
│  │ Orchestrator│  │  Router  │  │ Loader │  │
│  └────────────┘  └──────────┘  └────────┘  │
│                                             │
│  ┌─────────┐  ┌────────┐  ┌──────────────┐ │
│  │  React  │  │  Vue   │  │   Angular    │ │
│  │  Micro  │  │  Micro │  │    Micro     │ │
│  │   App   │  │   App  │  │     App      │ │
│  └─────────┘  └────────┘  └──────────────┘ │
└─────────────────────────────────────────────┘

Conceitos Chave

ConceitoDescrição
ShellA aplicação hospedeira - carrega e coordena as micro apps
OrchestratorMotor central que gerencia o registro e ciclo de vida das micro apps
Micro AppUma aplicação frontend implantada de forma independente
EntryA URL do bundle JavaScript de uma micro app
LifecycleHooks mount, unmount, update que cada micro app implementa
Event BusPonte pub/sub tipada entre micro apps
SandboxIsolamento CSS + JS para prevenir conflitos

Comparação

RecursoTuvix.jssingle-spaModule Federation
Zero dependências runtime
Event Bus integrado
CSS Sandbox
Suporte SSRParcial
TypeScript-firstParcial
Bindings de frameworkReact, Vue, Svelte, AngularReact, VueQualquer

Próximo Passo

Começando