Skip to content

Cos'è Tuvix.js?

Tuvix.js è un orchestratore di microfrontend leggero e indipendente dal framework per costruire applicazioni frontend scalabili composte da parti distribuibili indipendentemente.

Il Problema

Man mano che i frontend crescono, le applicazioni monolitiche a pagina singola diventano:

  • Difficili da scalare tra più team
  • Lente da compilare e distribuire - una modifica ricostruisce tutto
  • Legate a un singolo framework o versione
  • Difficili da testare e comprendere in isolamento

La Soluzione: i Microfrontend

I microfrontend applicano i principi dei microservizi al frontend. Ogni micro app è:

  • Sviluppata indipendentemente - codebase separata, team separato
  • Distribuita indipendentemente - la propria pipeline CI/CD
  • Indipendente dal framework - un team usa React, un altro Vue, un altro Svelte

Tuvix.js fornisce la shell - il sottile livello di orchestrazione che carica, monta e coordina tutte le micro app a runtime.

Architettura

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

Concetti Chiave

ConcettoDescrizione
ShellL'applicazione host - carica e coordina le micro app
OrchestratorMotore centrale che gestisce la registrazione e il ciclo di vita delle micro app
Micro AppUn'applicazione frontend distribuita indipendentemente
EntryL'URL del bundle JavaScript di una micro app
LifecycleHook mount, unmount, update che ogni micro app implementa
Event BusPonte pub/sub tipizzato tra le micro app
SandboxIsolamento CSS + JS per prevenire conflitti

Confronto

FunzionalitàTuvix.jssingle-spaModule Federation
Zero dipendenze runtime
Event Bus integrato
CSS Sandbox
Supporto SSRParziale
TypeScript-firstParziale
Binding frameworkReact, Vue, Svelte, AngularReact, VueQualsiasi

Prossimo Passo

Per Iniziare