Islands Architecture — approach where the page renders as static HTML and only individual interactive blocks ("islands") get a JS runtime. Everything else is zero JS. Popularised by Astro, also Fresh (Deno), Qwik (resumability). Result: 2-10x less JS on a typical marketing page vs Next.js (SPA-like hydration).
Below: details, example, related terms, FAQ.
Free online tool — HTTP header checker: instant results, no signup.
---
// Astro — static by default
import Counter from './Counter.tsx';
---
<html>
<body>
<h1>Hello</h1> <!-- static, no JS -->
<Counter client:visible /> <!-- hydrate when scrolls into view -->
</body>
</html>The Islands Architecture offers several key benefits that can significantly enhance the performance and user experience of web applications. Below are the primary advantages:
In summary, Islands Architecture not only optimizes performance but also improves SEO and user experience, making it an attractive option for modern web development.
To implement Islands Architecture using Astro, follow these steps to create a simple static site with interactive components:
npm create astro@latestsrc/pages directory, for example, index.astro.client:load directive to enable hydration. Example:<!-- index.astro -->
<h1>Welcome to Our Site</h1>
<p>This is a static section.</p>
<InteractiveComponent client:load />
npm run build
npm run previewBy following these steps, you can effectively create a site that leverages Islands Architecture, optimizing loading times and user interaction.
Islands Architecture represents a significant shift from traditional hydration techniques used in single-page applications (SPAs). Here’s a detailed comparison:
In summary, Islands Architecture offers a more efficient and user-friendly approach compared to traditional hydration techniques, making it a compelling choice for developers aiming to enhance web performance.
Islands: static-first + explicit hydration. RSC: server-first + automatic client boundaries. Astro best for content sites, RSC best for apps.
Typical Astro blog: 20-50 KB JS. Next.js App Router: 150-300 KB (framework + runtime).
Static HTML → excellent SEO. Lighthouse score 100 easily achievable.
Free plan — 10 monitors, checks every 5 min, no card required. Upgrade for 1-minute interval and multi-region monitoring.