Skip to content

Qu'est-ce que Tuvix.js ?

Tuvix.js est un orchestrateur de microfrontends léger et indépendant du framework pour construire des applications frontend évolutives composées de pièces déployables indépendamment.

Le Problème

À mesure que les frontends grandissent, les applications monolithiques à page unique deviennent :

  • Difficiles à faire évoluer entre plusieurs équipes
  • Lentes à compiler et déployer - un changement reconstruit tout
  • Verrouillées sur un seul framework ou une seule version
  • Difficiles à tester et à raisonner de manière isolée

La Solution : les Microfrontends

Les microfrontends appliquent les principes des microservices au frontend. Chaque micro app est :

  • Développée indépendamment - base de code séparée, équipe séparée
  • Déployée indépendamment - son propre pipeline CI/CD
  • Indépendante du framework - une équipe utilise React, une autre Vue, une autre Svelte

Tuvix.js fournit le shell - la couche d'orchestration légère qui charge, monte et coordonne toutes les micro apps au moment de l'exécution.

Architecture

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

Concepts Clés

ConceptDescription
ShellL'application hôte - charge et coordonne les micro apps
OrchestratorMoteur central qui gère l'enregistrement et le cycle de vie des micro apps
Micro AppUne application frontend déployée indépendamment
EntryL'URL du bundle JavaScript d'une micro app
LifecycleLes hooks mount, unmount, update que chaque micro app implémente
Event BusPont pub/sub typé entre les micro apps
SandboxIsolation CSS + JS pour prévenir les conflits

Comparaison

FonctionnalitéTuvix.jssingle-spaModule Federation
Zéro dépendance runtime
Event Bus intégré
CSS Sandbox
Support SSRPartiel
TypeScript-firstPartiel
Bindings frameworkReact, Vue, Svelte, AngularReact, VueTous

Étape Suivante

Pour Commencer