Skip to content

Was ist Tuvix.js?

Tuvix.js ist ein leichtgewichtiger, framework-unabhängiger Microfrontend-Orchestrator zum Erstellen skalierbarer Frontend-Anwendungen, die aus unabhängig deploybare Teilen bestehen.

Das Problem

Wenn Frontends wachsen, werden monolithische Single-Page-Anwendungen:

  • Schwer über mehrere Teams hinweg zu skalieren
  • Langsam zu bauen und zu deployen - eine Änderung baut alles neu
  • An ein einzelnes Framework oder eine Version gebunden
  • Schwierig isoliert zu testen und nachzuvollziehen

Die Lösung: Microfrontends

Microfrontends wenden Microservice-Prinzipien auf das Frontend an. Jede Micro App ist:

  • Unabhängig entwickelt - separate Codebasis, separates Team
  • Unabhängig deployed - eigene CI/CD-Pipeline
  • Framework-unabhängig - ein Team nutzt React, ein anderes Vue, ein anderes Svelte

Tuvix.js stellt die Shell bereit - die dünne Orchestrierungsschicht, die alle Micro Apps zur Laufzeit lädt, einbindet und koordiniert.

Architektur

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

Schlüsselkonzepte

KonzeptBeschreibung
ShellDie Host-Anwendung - lädt und koordiniert Micro Apps
OrchestratorKernmotor, der die Registrierung und den Lebenszyklus von Micro Apps verwaltet
Micro AppEine unabhängig deploybare Frontend-Anwendung
EntryDie JavaScript-Bundle-URL einer Micro App
Lifecyclemount, unmount, update Hooks, die jede Micro App implementiert
Event BusTypisierte Pub/Sub-Brücke zwischen Micro Apps
SandboxCSS + JS Isolation zur Vermeidung von Konflikten

Vergleich

MerkmalTuvix.jssingle-spaModule Federation
Keine Laufzeitabhängigkeiten
Event Bus integriert
CSS Sandbox
SSR-UnterstützungTeilweise
TypeScript-firstTeilweise
Framework-BindingsReact, Vue, Svelte, AngularReact, VueBeliebig

Nächster Schritt

Erste Schritte