Siti content-first con JS parsimonioso
I framework SPA come Next.js/Nuxt spediscono centinaia di KB di JavaScript anche a pagine content-heavy (blog, docs, marketing) dove il JS porta poco valore. Il concetto di “islands architecture” (proposto da Katie Sylor-Miller e popolarizzato da Jason Miller di Preact) è l’opposto: genera HTML statico con “isole” di interattività idratate selettivamente.
Astro, fondato da Fred Schott (ex Google, Snowpack) nel 2021, è il framework più fedele a questo pattern. La versione 1.0 è rilasciata il 9 agosto 2022. Licenza MIT.
Caratteristiche
- Zero JS di default — genera HTML puro; JS solo per componenti esplicitamente interattivi
- Multi-framework — componenti React, Vue, Svelte, Solid, Preact, Lit nello stesso progetto
client:load,client:idle,client:visible,client:media— direttive di idratazione precise- Content Collections — typed content management Markdown/MDX
- Views Transitions — animazioni cross-page native
- File-based routing
- SSG, SSR, Server Islands (2024)
Sintassi
I file .astro combinano template HTML, script frontmatter TypeScript, CSS scoped:
---
const { title } = Astro.props;
const posts = await fetchPosts();
---
<html>
<head><title>{title}</title></head>
<body>
<h1>{title}</h1>
<ul>
{posts.map(p => <li><a href={p.url}>{p.title}</a></li>)}
</ul>
</body>
</html>
La sintassi JSX-like convive con HTML puro.
Uso pratico
Astro è ideale per:
- Blog e documentazione
- Marketing sites
- E-commerce catalog pages (con client islands per cart)
- Portali informativi PA
- Portfolio
Per applicazioni “app-shell” altamente interattive, Next.js/Remix restano più adatti.
Nel contesto italiano
Questo stesso sito noze.it è costruito con Astro 5. Numerosi team italiani adottano Astro tra 2022-2024 per rinnovare siti corporate, blog, portali PA.
Riferimenti: Astro 1.0 (9 agosto 2022). Fred Schott. Islands Architecture (Katie Sylor-Miller, Jason Miller 2020). Licenza MIT. Multi-framework support. Base tecnica Vite. Content Collections dal 2.x.
