Astro 6 SSR: The Islands Architecture Finally Makes Sense
Chet
For years the frontend world argued about SPA versus MPA as if it were a religious war. Astro's islands model quietly ended the fight: ship HTML by default, hydrate only the interactive slivers.
Per-route rendering
The killer feature is granularity. One flag flips a page from static to server-rendered:
export const prerender = false;Your marketing pages stay static and cacheable. Your dashboard renders per-request against the database. Same project, same components.
Islands, not oceans
A React editor, a search box, a theme toggle — these become islands of interactivity in a sea of static HTML. Everything else ships zero JavaScript.
client:load— hydrate immediatelyclient:visible— hydrate on scrollclient:only— skip SSR, render on client
The result: Lighthouse scores that make your PM cry happy tears.