Skip to content

¿Qué es Tuvix.js?

Tuvix.js es un orquestador de microfrontends ligero e independiente del framework para construir aplicaciones frontend escalables compuestas por piezas desplegables de forma independiente.

El Problema

A medida que los frontends crecen, las aplicaciones monolíticas de una sola página se vuelven:

  • Difíciles de escalar entre múltiples equipos
  • Lentas para compilar y desplegar - un cambio reconstruye todo
  • Atadas a un único framework o versión
  • Difíciles de probar y razonar de forma aislada

La Solución: Microfrontends

Los microfrontends aplican los principios de microservicios al frontend. Cada micro app es:

  • Desarrollada de forma independiente - código base separado, equipo separado
  • Desplegada de forma independiente - su propio pipeline de CI/CD
  • Independiente del framework - un equipo usa React, otro Vue, otro Svelte

Tuvix.js proporciona el shell - la capa de orquestación ligera que carga, monta y coordina todas las micro apps en tiempo de ejecución.

Arquitectura

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

Conceptos Clave

ConceptoDescripción
ShellLa aplicación anfitriona - carga y coordina las micro apps
OrchestratorMotor central que gestiona el registro y ciclo de vida de las micro apps
Micro AppUna aplicación frontend desplegada de forma independiente
EntryLa URL del bundle JavaScript de una micro app
LifecycleHooks mount, unmount, update que cada micro app implementa
Event BusPuente pub/sub tipado entre micro apps
SandboxAislamiento CSS + JS para prevenir conflictos

Cómo se Compara

CaracterísticaTuvix.jssingle-spaModule Federation
Sin dependencias en tiempo de ejecución
Event Bus integrado
CSS Sandbox
Soporte SSRParcial
TypeScript-firstParcial
Bindings de frameworkReact, Vue, Svelte, AngularReact, VueCualquiera

Siguiente Paso

Primeros Pasos