Prima l'HTML, interazione solo quando serve
Astro è un framework server-first per siti web basati sui contenuti. Esegue il rendering dei contenuti delle pagine come HTML e, per impostazione predefinita, non invia JavaScript lato client; gli sviluppatori aggiungono esplicitamente codice per il browser ai componenti che necessitano di interazione.
Un componente interattivo all'interno di una pagina altrimenti statica viene chiamato isola. Un controllo di navigazione, un'interfaccia di ricerca o un altro widget può idratarsi in modo indipendente, mentre titoli, paragrafi e link vicini rimangono normale HTML.
| Area della pagina | Distribuzione iniziale | Comportamento nel browser |
|---|---|---|
| Contenuto Astro statico | HTML renderizzato sul server | Nessun runtime per componenti per impostazione predefinita |
| Isola idratata | HTML più il codice del componente selezionato | Si attiva in modo indipendente |
| Più isole | HTML più il codice selezionato per ogni isola | Ogni isola può utilizzare la propria priorità di caricamento |
La tempistica dell'idratazione è esplicita. client:load dà priorità a un controllo necessario immediatamente, client:idle rinvia il lavoro finché il browser non è inattivo e client:visible attende che un componente si avvicini al viewport.
Integrazioni e contenuti strutturati
Astro può utilizzare React, Preact, Svelte, Vue, Solid, HTMX, web component e altri approcci UI per le aree interattive. Ciò consente il riutilizzo selettivo di sistemi di componenti conosciuti senza trasformare l'intero documento in un'unica applicazione con rendering lato client.
Le aree utili dell'ecosistema identificate dal repository mantenuto includono:
- Integrazioni UI per React, Preact, Solid, Svelte e Vue.
- Supporto runtime Node e adattatori di distribuzione.
- Strumenti di pubblicazione come le integrazioni MDX, RSS e sitemap.
- Integrazione relativa agli script tramite Partytown.
Le raccolte di contenuti organizzano e convalidano Markdown e le voci correlate con la sicurezza dei tipi di TypeScript. In termini pratici, un team può definire una struttura coerente per articoli o documentazione, rilevare campi di contenuto non validi e interrogare una raccolta coerente anziché trattare ogni file come scollegato dagli altri.
Prove rispetto ai risultati dell'implementazione
La documentazione pubblica e il repository mantenuto di Astro supportano le affermazioni sul rendering HTML-first, l'idratazione facoltativa, gli approcci UI supportati e le raccolte di contenuti. Descrivono capacità e impostazioni predefinite del framework, non la qualità di ogni sito creato con Astro.
Un progetto completato può comunque includere isole di grandi dimensioni, diversi runtime di framework, immagini pesanti, font o script di terze parti. Queste scelte possono influire sulle prestazioni e sulla manutenzione, quindi i visitatori dovrebbero distinguere il modello documentato di Astro dai risultati che richiedono l'esame di una specifica implementazione. La stessa distinzione si applica all'accessibilità e all'affidabilità: il framework fornisce strumenti architetturali, mentre l'esperienza finale dipende dal modo in cui un team li utilizza.
