Alle Beiträge
EngineeringAktualisiert am {Datum}4 min read

Astro, React Islands und die Rückkehr zur mehrseitigen Architektur

Warum wir diese Website mit Astro statt mit Next.js neu erstellt haben – und warum das „Island Architecture“-Muster das richtige Denkmodell für Content-First-Websites im Jahr 2026 ist.

Pardeep Basi

Gründer, Basi Software Ltd

Über den Autor

Pardeep Singh Basi ist ein erfahrener Full-Stack-Entwickler für TypeScript/JavaScript und firmiert unter dem Namen Basi Software Ltd. Mit mehr als 18 Jahren Erfahrung – davon die letzten sieben Jahre ausschließlich im Auftrag britischer Regierungsbehörden – ist er spezialisiert auf Node.js, React, SvelteKit, Angular und cloud-native Infrastruktur auf Azure, AWS und GCP.

#astro#react#architecture#performance#SSG
Illustriertes Diagramm der Astro-Island-Architektur, das eine statische Server-Shell mit React-Islands für interaktive Komponenten zeigt

Als wir uns daran machten, die Website von Basi Software neu zu gestalten, lag die Wahl ganz klar bei Next.js. Wir setzen es ständig bei Kundenprojekten ein. Das Team kennt es in- und auswendig.

Wir haben uns stattdessen für Astro entschieden. Hier sind die Gründe dafür – und was wir dabei gelernt haben.

Die SPA-Steuer

Single-Page-Anwendungen haben die Last der Darstellung vom Server auf den Client verlagert. Für hochgradig interaktive Anwendungen – Dashboards, Editoren, Tools für die Zusammenarbeit – ist das der richtige Kompromiss. Für eine Marketing-Website mit einem Kontaktformular ist es jedoch eine Belastung.

Die „SPA-Steuer“ wird wie folgt ausgewiesen:

  • JavaScript, das für Interaktionen bereitgestellt wird, die niemals stattfinden — Der Nutzer liest den Hero-Bereich, scrollt weiter und verlässt die Seite. Er hat den Auslöser für das Modal-Fenster nie angeklickt. Aber du hast das Modal-JS trotzdem ausgeliefert.
  • Wasserfälle zur Flüssigkeitszufuhr — React rehydriert den gesamten Baum, bevor Interaktionen möglich sind
  • Layoutverschiebung — Server-gerendertes HTML wird durch clientseitig gerendertes HTML ersetzt, was zu CLS führt
# Lighthouse on our old Next.js site (production build)
Performance:         71
First Contentful Paint:  1.8s
Total Blocking Time:     340ms
JavaScript bundle:      ~280kb (gzipped)

# After migrating to Astro
Performance:         98
First Contentful Paint:  0.6s
Total Blocking Time:     0ms
JavaScript bundle:       ~6kb (only the Nav and ContactForm islands)

Was Astros Inselarchitektur eigentlich bedeutet

Der Begriff „Inseln“ wurde von Katie Sylor-Miller von Etsy geprägt. Die Idee dahinter: Eine ansonsten statische Seite enthält isolierte „Inseln“ der Interaktivität. Jede Insel wird unabhängig geladen. Alles andere wird als HTML ohne JavaScript ausgeliefert.

---
// Layout.astro — the shell is pure HTML
import Nav from '../components/Nav.astro';       // Static shell + small script
import ContactForm from './ContactForm';         // React island
import HeroSection from './HeroSection.astro';   // Zero JS — static HTML
---

<body>
  <!-- Astro component — no framework runtime required -->
  <Nav />

  <main>
    <!-- Static Astro component — ships as HTML, zero runtime cost -->
    <HeroSection />
  </main>
</body>

Das Kontaktformular ist hier die einzige Framework-Insel. Die Navigation behält ihr interaktives Verhalten dank eines kleinen Browserskripts bei, sodass React nicht auf jeder Seite geladen wird.

Wichtige Richtlinien

Astro stellt fünf Richtlinien zur Flüssigkeitszufuhr vor. Die Wahl der richtigen Richtlinie hat messbare Auswirkungen:

RichtlinieWann es Feuchtigkeit spendetVerwendung für
client:loadSofortNavigation, interaktiv im oberen Bereich
client:idleWenn der Browser inaktiv istKomponenten unterhalb der Falz
client:visibleWenn ein Element in den Sichtbereich gelangtLazy-Komponenten
client:mediaWenn die Medienabfrage zutrifftWidgets nur für Mobilgeräte
client:onlyNur clientseitig, kein SSRBrowser-API-abhängige Komponenten

Für die meisten Marketing-Websites, client:visible ist die richtige Standardeinstellung für alles, was unterhalb der Falz liegt.

Übergänge ohne Framework anzeigen

Einer der Gründe, warum Teams sich für Next.js entscheiden, ist der integrierte Router mit Seitenübergängen. Auch Astro verfügt darüber, und zwar über den <ClientRouter /> Komponente und die View-Transitions-API.

---
import { ClientRouter } from 'astro:transitions';
---
<head>
  <ClientRouter />
</head>
/* Custom transition — runs on every page navigation */
::view-transition-old(root) {
  animation: fade-out 0.3s ease-in forwards;
}

::view-transition-new(root) {
  animation: slide-up 0.4s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

Die transition:persist Das Attribut „nav“ sorgt dafür, dass die Navigation zwischen den Seiten nicht neu geladen wird – die React-Insel bleibt aktiv und behält dabei die Scrollposition sowie den geöffnete bzw. geschlossene Zustand bei.

Inhaltssammlungen für typsichere Inhalte

Dieser Blog selbst basiert auf Astro Content Collections – einer von Zod validierten, TypeScript-orientierten Content-Schicht:

// src/content/config.ts
import { defineCollection, z } from 'astro:content';

const blog = defineCollection({
  type: 'content',
  schema: z.object({
    title:       z.string(),
    description: z.string(),
    pubDate:     z.coerce.date(),
    category:    z.string(),
    tags:        z.array(z.string()).default([]),
  }),
});

export const collections = { blog };

Jede MDX-Datei in src/content/blog/ ist nun vollständig typisiert. Fehlt in einem Beitrag ein Pflichtfeld, schlägt der Build fehl – es handelt sich nicht um einen Laufzeitfehler in der Produktion.

Wann sollte man sich dennoch für Next.js entscheiden?

Astro ist nicht die Antwort auf alles:

  • Äußerst interaktive Apps — Wenn der Großteil der Seite reaktiv sein muss, setze React ein. Eine Astro-Website mit client:load Bei jeder Komponente ist es schlechter als bei Next.js.
  • Echtzeitfunktionen — Live-Dashboards, gemeinsame Bearbeitung und WebSocket-intensive Benutzeroberflächen gehören in eine echte SPA
  • Große authentifizierte Apps — Authentifizierungsabläufe, dynamisches Routing auf Basis von Benutzerdaten, komplexer clientseitiger Status — Hier hat Next.js die Nase vorn

Die Faustregel: Wenn die meisten Ihrer Seiten in erster Linie lesen anstatt mit … interagiert, Astro ist der bessere Ausgangspunkt.

Fazit

Die Rückkehr zur mehrseitigen Architektur ist kein Rückschritt. Es ist vielmehr die Erkenntnis, dass das ursprüngliche Modell des Webs – durch Hyperlinks verknüpfte Dokumente – nach wie vor die leistungsfähigste, barrierefreieste und robusteste Architektur für Websites ist, bei denen der Inhalt im Vordergrund steht.

Astro macht es einfach angenehm, im Jahr 2026 auf diese Weise zu bauen.

Comments

Loading comments…

Your email will not be published.

Sind Sie bereit, loszulegen?

Lass uns etwas bauen
gemeinsam außergewöhnlich

Ganz gleich, ob Sie als Behörde einen zuverlässigen Lieferanten suchen oder als Unternehmen einen designorientierten Partner im Bereich Ingenieurwesen – wir freuen uns auf Ihre Kontaktaufnahme.