Skip to content
Italiano
Torna alla directory

astro.build

200 OK

Come Astro trasforma i contenuti in HTML e aggiunge interattività in modo selettivo

Developer ToolsTailwind CSS
Risposta diretta

Astro è particolarmente adatto ai siti web basati sui contenuti che devono fornire HTML utile prima dell'esecuzione di JavaScript nel browser. La sua caratteristica distintiva è l'idratazione selettiva: i team possono mantenere statica la maggior parte di una pagina attivando solo i singoli componenti, anche se le applicazioni altamente interattive potrebbero trarre meno vantaggio da questo confine.

Ultimo controllo:

Concetti principali

  • Distribuzione HTML-first: Astro esegue il rendering dei contenuti delle pagine come HTML e, per impostazione predefinita, non invia JavaScript lato client.

  • Idratazione selettiva: Solo i componenti contrassegnati esplicitamente per l'idratazione nel browser ricevono JavaScript necessario all'interazione.

  • Isole indipendenti: I componenti interattivi si idratano separatamente e possono utilizzare priorità di caricamento adatte al momento in cui servono ai visitatori.

  • Diversi approcci UI: Astro supporta React, Preact, Svelte, Vue, Solid, HTMX, web component e altri approcci.

  • Raccolte di contenuti tipizzate: Le raccolte di contenuti organizzano e convalidano i contenuti Markdown con la sicurezza dei tipi di TypeScript.

  • Adatto ai progetti basati sui contenuti: Astro è più direttamente adatto ai siti in cui leggere e consultare contenuti sono le attività principali degli utenti.

Compare the subject with other published sites in the same category.

All alternatives

Come Astro trasforma i contenuti in HTML e aggiunge interattività in modo selettivo

Cos'è Astro?

Astro è un framework web open source per creare siti web basati sui contenuti. Esegue il rendering dei contenuti delle pagine come HTML e, per impostazione predefinita, non invia JavaScript lato client, consentendo comunque agli sviluppatori di aggiungere componenti idratati in modo indipendente dove è necessaria l'interazione nel browser.

Questo approccio è adatto a blog, documentazione, siti di marketing, portfolio, landing page, siti di community ed esperienze di e-commerce incentrate sui contenuti. Astro può incorporare diversi framework UI conosciuti senza richiedere che l'intera pagina diventi un'applicazione con rendering lato client.

Riepilogo rapido

  • Scopo principale: Creare siti web basati sui contenuti attorno a HTML renderizzato sul server.
  • Costo predefinito nel browser: Nessun JavaScript lato client, a meno che il progetto non lo aggiunga esplicitamente.
  • Architettura principale: I componenti interattivi diventano isole isolate all'interno di pagine altrimenti statiche.
  • Approcci UI supportati: React, Preact, Svelte, Vue, Solid, HTMX, web component e altri.
  • Strumenti per i contenuti: Le raccolte di contenuti organizzano e convalidano Markdown con la sicurezza dei tipi di TypeScript.
  • Contesto ideale: Siti in cui leggere e consultare contenuti conta più di uno stato continuo lato browser.
  • Compromesso principale: I team devono decidere quali componenti necessitano di JavaScript e quando devono essere caricati.

Quale problema cerca di risolvere Astro?

I siti di contenuti utilizzano spesso architetture frontend orientate alle applicazioni, anche quando le loro pagine contengono principalmente titoli, articoli, spiegazioni di prodotti, immagini e link. Ciò può comportare l'invio di JavaScript per un ampio albero di componenti, nonostante gran parte della pagina non richieda alcuna esecuzione nel browser.

Astro parte da un presupposto server-first: il contenuto diventa HTML e l'esecuzione nel browser viene aggiunta solo dove l'interazione la richiede. Il modello di distribuzione può quindi seguire il comportamento effettivo della pagina, anziché trattare ogni elemento come parte di un'unica applicazione interattiva.

La documentazione ufficiale descrive Astro come basato sui contenuti, server-first, veloce per impostazione predefinita, facile da usare e incentrato sugli sviluppatori. Questi sono obiettivi di progettazione, non garanzie, perché immagini, script di terze parti, codice dei componenti e scelte di implementazione influiscono comunque sul sito finale.

Cosa organizza Astro per un progetto di contenuti

  • Pagine il cui valore principale è costituito da HTML leggibile.
  • Layout e componenti riutilizzabili attorno a tali contenuti.
  • Contenuti Markdown organizzati tramite raccolte.
  • Convalida e schemi compatibili con TypeScript per le voci delle raccolte.
  • Componenti interattivi facoltativi che utilizzano framework UI supportati.
  • Integrazioni aggiunte in base alle esigenze di contenuto e distribuzione.

Come esegue Astro il rendering di una pagina?

Astro separa i contenuti statici della pagina dai componenti interattivi del browser. Il server produce HTML, mentre i componenti contrassegnati per l'idratazione ricevono JavaScript e diventano interattivi in base a una direttiva selezionata dallo sviluppatore.

Questo approccio differisce sia dal trasformare l'intera pagina in un unico albero di componenti lato client, sia dal pubblicare un documento completamente statico che non può aggiungere comportamenti nel browser. Astro occupa una posizione intermedia assegnando l'interazione a parti specifiche della pagina.

Confronto tra architetture e rendering

Area della pagina o approccio Output iniziale JavaScript nel browser Confine dell'interazione Implicazione pratica
Contenuto Astro statico HTML renderizzato sul server Nessuno per impostazione predefinita Nessun componente idratato Testo, link e altri contenuti statici rimangono utilizzabili senza un runtime per componenti.
Isola interattiva Astro HTML più un componente idratato esplicitamente Caricato per quel componente La singola isola Un menu o un controllo di ricerca può diventare interattivo senza idratare l'articolo circostante.
Più isole Astro HTML più componenti idratati separatamente Caricato in base alle esigenze di ciascuna isola Ogni isola si idrata in modo indipendente I team possono dare priorità alle interazioni importanti e rinviare i componenti che non servono immediatamente.
Applicazione client per l'intera pagina Shell specifica dell'applicazione o HTML Supporta comunemente un ampio albero di componenti client Gran parte della pagina condivide l'esecuzione lato browser Può essere adatto a un'interazione continua, ma può applicare un modello applicativo a contenuti che non ne hanno bisogno.

Questi confini non garantiscono uno specifico risultato in termini di prestazioni. Un'isola di grandi dimensioni può comunque inviare una quantità considerevole di codice, mentre contenuti multimediali pesanti e script estranei possono rallentare la pagina; Astro offre un'impostazione predefinita con poco JavaScript, ma l'esperienza finale rimane responsabilità del team.

Cos'è un'isola Astro?

Un'isola è un componente UI interattivo all'interno di una pagina altrimenti statica. Titoli, paragrafi, link e altri materiali non interattivi circostanti rimangono HTML, mentre l'isola riceve il codice per il browser necessario al proprio comportamento.

Le isole si idratano in modo indipendente, quindi l'attivazione di un componente non richiede l'attivazione simultanea di tutti gli altri componenti interattivi. I framework di componenti supportati possono coesistere, anche se utilizzarne diversi può aumentare la duplicazione del runtime e le esigenze di manutenzione.

Quando può idratarsi un'isola?

  • client:load: Dà priorità al componente durante il caricamento della pagina.
  • client:idle: Rinvia l'idratazione finché il browser non ha tempo libero.
  • client:visible: Attende che il componente si avvicini al viewport.

Queste direttive rendono la priorità di caricamento parte del posizionamento dei componenti. Un controllo necessario immediatamente può essere gestito diversamente da un elemento interattivo più in basso nella pagina, e la scelta dovrebbe seguire le esigenze dell'utente anziché una regola universale.

Cosa garantiscono e non garantiscono le isole

Le isole aiutano un team a fare questo Le isole non garantiscono questo
Mantenere i contenuti statici come HTML Ogni pagina completata sarà veloce
Aggiungere JavaScript solo ai componenti selezionati I componenti idratati saranno piccoli
Assegnare alle isole diverse priorità di caricamento Gli script di terze parti saranno efficienti
Utilizzare framework UI supportati per le aree interattive La combinazione di framework non comporterà costi di runtime o manutenzione
Preservare una struttura della pagina incentrata sui contenuti Immagini, font e altre risorse saranno ottimizzati automaticamente

La proprietà utile è il controllo. L'idratazione rimane visibile nell'utilizzo dei componenti, consentendo agli sviluppatori di verificare dove JavaScript entra nella pagina e se ogni dipendenza giustifica il proprio costo.

Come gestisce Astro i framework UI e i contenuti?

Astro supporta React, Preact, Svelte, Vue, Solid, HTMX, web component e altri approcci UI. Un team può utilizzare un framework di componenti conosciuto per un'isola, mantenendo al contempo il documento circostante all'interno del modello di pagina con rendering sul server di Astro.

Questa flessibilità può favorire un'adozione graduale o preservare un investimento esistente nei componenti, ma non rende vantaggiosa la combinazione di ogni framework. Un approccio primario coerente è generalmente più facile da comprendere e ogni runtime aggiuntivo dovrebbe risolvere un problema specifico.

Le raccolte di contenuti completano questo modello di rendering fornendo a Markdown e ai contenuti correlati una struttura organizzata e convalidata, con la sicurezza dei tipi di TypeScript. Un progetto editoriale o di documentazione può trattare i propri contenuti come un insieme di dati coerente anziché come file scollegati.

Aree dell'ecosistema sottoposte a manutenzione

Il repository del framework identifica pacchetti mantenuti ufficialmente per diverse esigenze:

  • Integrazioni UI per React, Preact, Solid, Svelte e Vue.
  • Supporto runtime tramite l'integrazione Node e diversi adattatori di distribuzione.
  • Strumenti per contenuti e pubblicazione, incluse le integrazioni MDX, RSS e sitemap.
  • Integrazione relativa agli script tramite Partytown.

I progetti possono iniziare con Astro e aggiungere integrazioni quando i requisiti le giustificano. La documentazione attuale e le informazioni sui pacchetti mantenuti dovrebbero guidare le scelte di installazione, perché disponibilità e compatibilità possono cambiare.

Per chi è adatto Astro?

Astro è più adatto ai progetti in cui i contenuti devono essere disponibili come HTML e l'interazione occupa aree distinte. Vale particolarmente la pena valutarlo quando l'attività principale dell'utente consiste nel leggere, esplorare, confrontare o scoprire informazioni.

Un prodotto simile a un'applicazione può comunque contenere pagine incentrate sui contenuti, ma il suo modello di interazione dominante è importante. Se la maggior parte delle schermate dipende da uno stato client condiviso e da aggiornamenti continui nel browser, i confini delle isole potrebbero offrire meno valore o richiedere più decisioni architetturali.

Indicazioni sull'idoneità e la non idoneità

Vale la pena considerare Astro quando Valuta attentamente altri approcci quando
Il progetto è un blog, un sito di documentazione, un portfolio, una landing page, un sito di marketing, un sito di community o un'esperienza commerciale incentrata sui contenuti. La maggior parte delle schermate si comporta come un'applicazione browser continuamente interattiva.
I contenuti importanti devono arrivare come HTML senza attendere un runtime client. Quasi ogni area della pagina richiede idratazione e stato condiviso lato browser.
L'interattività può essere suddivisa in componenti chiari. L'interazione è difficile da separare in aree indipendenti.
Il team vuole riutilizzare in modo selettivo componenti UI supportati. Il team si aspetta che combinare framework sia semplice o privo di costi.
L'organizzazione, la convalida e la sicurezza dei tipi per Markdown sono preziose. Il progetto ha pochi contenuti e non trae alcun vantaggio significativo dalle raccolte di contenuti.

Queste indicazioni sono un filtro architetturale, non un verdetto. La valutazione più solida utilizza una pagina rappresentativa contenente contenuti reali e l'interazione più impegnativa prevista in produzione.

Quali sono i principali compromessi di Astro?

Il vantaggio principale e l'onere progettuale di Astro derivano dalla stessa scelta: JavaScript nel browser è selettivo. I team ottengono il controllo sull'idratazione, ma devono definire confini sensati per i componenti e priorità di caricamento.

Vantaggi supportati dall'architettura

  • I contenuti statici rimangono HTML renderizzato sul server.
  • JavaScript è facoltativo per i componenti che necessitano di un comportamento nel browser.
  • Le isole possono idratarsi in modo indipendente.
  • La priorità di caricamento può riflettere il momento in cui un'interazione diventa utile.
  • I framework UI supportati possono essere utilizzati senza controllare l'intera pagina.
  • Le raccolte di contenuti forniscono organizzazione, convalida e sicurezza dei tipi di TypeScript.

Costi e decisioni da considerare

  • Gli sviluppatori devono identificare quali componenti richiedono realmente l'idratazione.
  • Direttive scelte male possono caricare il codice prima o dopo il momento in cui serve agli utenti.
  • Isole di grandi dimensioni possono ridurre il vantaggio dell'idratazione selettiva.
  • Diversi framework UI possono introdurre codice runtime duplicato e manutenzione aggiuntiva.
  • Gli script di terze parti e i contenuti multimediali sovradimensionati rimangono problemi di prestazioni.
  • I prodotti ad alta interattività devono stabilire se le isole sono adatte al loro modello di stato.

Astro favorisce una composizione intenzionale. Elimina JavaScript automatico lato client dal punto di partenza, ma non elimina la necessità di esaminare dipendenze, risorse, accessibilità o comportamento effettivo della pagina.

Come dovrebbe un team valutare Astro?

Una valutazione utile dovrebbe riprodurre i requisiti più complessi del progetto in termini di contenuti e interazione. Una dimostrazione minima può provare che Astro funziona, ma non può mostrare se l'architettura è adatta al reale flusso di lavoro editoriale o al comportamento nel browser.

Lista di controllo per la valutazione

  1. Scegli una pagina rappresentativa. Utilizza titoli, testo, navigazione, immagini e link reali anziché segnaposto.
  2. Identifica le aree statiche. Indica quali parti possono rimanere HTML senza un runtime di componenti lato browser.
  3. Seleziona l'interazione più complessa. Includi il componente più impegnativo ragionevolmente previsto.
  4. Definisci i confini delle isole. Determina se le aree interattive possono idratarsi in modo indipendente senza un coordinamento scomodo dello stato.
  5. Assegna le priorità di idratazione. Verifica se client:load, client:idle o client:visible corrisponde al momento in cui ciascun componente diventa utile.
  6. Esamina l'utilizzo dei framework. Conferma che ogni integrazione UI risolva un'esigenza concreta e annota i costi dei runtime duplicati.
  7. Verifica il modello dei contenuti. Crea una raccolta rappresentativa e controlla che la convalida e i tipi TypeScript supportino il flusso di lavoro editoriale.
  8. Esamina l'output fornito. Conferma che i contenuti essenziali siano presenti come HTML e identifica JavaScript aggiunto dai componenti idratati.
  9. Metti alla prova i vincoli reali. Includi contenuti multimediali previsti, script di terze parti, navigazione e requisiti di distribuzione.
  10. Confronta la manutenibilità. Chiediti se il confine tra contenuti e interazione è chiaro al team che gestisce il sito.

La decisione dovrebbe basarsi su quel prototipo. Le impostazioni predefinite documentate spiegano l'intento di Astro, mentre un'implementazione rappresentativa rivela se corrispondono alle effettive esigenze del progetto in termini di contenuti, interazione e manutenzione.

Come è nato Astro e come viene governato?

Astro è stato presentato pubblicamente nel giugno 2021 tramite un post ufficiale firmato da Fred Schott e Nate Moore. La fonte identifica entrambi come autori che hanno presentato il progetto e non giustifica l'attribuzione a nessuno dei due dell'etichetta di unico fondatore.

Un annuncio ufficiale sulla governance del 2025 ha nominato il Comitato direttivo tecnico di Astro. Alla data di tale rilevazione, identificava Matt Kane come responsabile del team del framework e Sarah Rainsberger come responsabile del team della documentazione; si tratta di fatti datati, perché la leadership e la composizione del comitato possono cambiare.

Informazioni sul progetto e sulla community

  • Giugno 2021: Fred Schott e Nate Moore hanno firmato la presentazione ufficiale di Astro.
  • 2025: Astro ha annunciato il proprio Comitato direttivo tecnico e i ruoli del team validi a quella data.
  • Licenza: Il repository mantenuto del framework identifica Astro come software gratuito e open source con licenza MIT.
  • Supporto: Il materiale ufficiale relativo alla versione attuale indirizza richieste di assistenza e feedback alla community Discord di Astro.
  • Partecipazione: Il progetto indirizza contributori e partecipazione al progetto verso GitHub.
  • Primi passi: Il README mantenuto consiglia npm create astro@latest; l'installazione manuale utilizza npm install astro.

La governance spiega come il progetto open source organizza le responsabilità, mentre il rendering, gli strumenti per i contenuti e i confini dell'interazione ne determinano l'idoneità tecnica.

Cosa rappresenta astro.build?

astro.build è il sito web ufficiale di Astro, mentre Astro, il framework, è il soggetto qui descritto. Il repository mantenuto del sito web afferma che il sito è creato con Astro, rendendolo un esempio proprietario pertinente senza fare dei suoi dettagli di manutenzione una parte della definizione del framework.

Il repository mantenuto del framework è il riferimento più autorevole per pacchetti supportati, percorsi di installazione, licenza, community e informazioni sui contributi. La documentazione di Astro rimane il riferimento principale per il suo modello server-first, l'attenzione ai contenuti, l'architettura a isole e le direttive di idratazione.

In conclusione

La proposta di Astro è chiara: eseguire il rendering dei contenuti come HTML, quindi aggiungere JavaScript nel browser solo ai componenti che necessitano di interazione. È interessante per i siti basati sui contenuti con aree interattive separabili e meno chiaramente adatto ai prodotti le cui interfacce dipendono da uno stato continuo lato client.

Non presumere che l'impostazione predefinita renda veloce ogni implementazione. Crea una pagina realistica, esaminane l'HTML e i componenti idratati, verifica il flusso di lavoro dei contenuti e conferma che i confini delle isole rimangano comprensibili man mano che il progetto cresce.

Una risposta riuscita non garantisce la sicurezza. Le misurazioni descrivono una singola osservazione nel tempo.

Fonti principali

  1. 01Sito web ufficiale di Astro (si apre in una nuova scheda)
  2. 02Documentazione di Astro: perché Astro? (si apre in una nuova scheda)
  3. 03Documentazione di Astro: architettura a isole (si apre in una nuova scheda)
  4. 04README del repository mantenuto del framework Astro (si apre in una nuova scheda)
  5. 05Repository mantenuto del framework Astro (si apre in una nuova scheda)
  6. 06Repository del sito web ufficiale astro.build (si apre in una nuova scheda)
  7. 07Presentazione di Astro (si apre in una nuova scheda)
  8. 08Annuncio del Comitato direttivo tecnico di Astro per il 2025 (si apre in una nuova scheda)
  9. 09Materiale ufficiale sul rilascio di Astro 7 (si apre in una nuova scheda)

Domande frequenti

Risposte pratiche sul prodotto e sul suo funzionamento.

A cosa serve Astro?

Astro è un framework web per siti basati sui contenuti, come blog, documentazione, siti di marketing, portfolio, landing page, siti di community ed esperienze di e-commerce. Pone l'accento sull'HTML renderizzato sul server e aggiunge JavaScript lato client solo dove i componenti vengono idratati esplicitamente.

Astro invia JavaScript a ogni pagina?

No. Per impostazione predefinita, Astro non invia JavaScript lato client. Un progetto può comunque aggiungere script e componenti interattivi, quindi la quantità finale dipende da quali componenti vengono idratati e dall'altro codice per il browser incluso nel progetto.

Cos'è un'isola in Astro e quando dovrebbe idratarsi?

Un'isola è un componente interattivo idratato in modo indipendente all'interno di una pagina altrimenti statica. Astro fornisce `client:load` per il caricamento prioritario, `client:idle` per il lavoro differito e `client:visible` per i componenti che possono attendere finché non si avvicinano al viewport.

Astro può utilizzare componenti React, Vue o Svelte?

Sì. Astro supporta React, Preact, Svelte, Vue, Solid, HTMX, web component e altri approcci UI. I team dovrebbero utilizzare le integrazioni in modo intenzionale, perché combinare framework può aggiungere codice runtime e lavoro di manutenzione.

Cosa sono le raccolte di contenuti di Astro?

Le raccolte di contenuti organizzano e convalidano Markdown e contenuti correlati con la sicurezza dei tipi di TypeScript. Sono utili quando un progetto necessita di una struttura coerente per pubblicare, interrogare ed eseguire il rendering di gruppi di contenuti.

Astro è adatto a un'applicazione web altamente interattiva?

Dipende dalla possibilità di suddividere l'interfaccia in isole indipendenti e significative. Se quasi ogni area richiede idratazione, stato client condiviso e aggiornamenti continui nel browser, un'architettura più orientata alle applicazioni potrebbe adattarsi meglio al modello di interazione dominante.

Chi ha presentato Astro e dove possono partecipare gli utenti?

Fred Schott e Nate Moore hanno firmato la presentazione pubblica ufficiale di Astro nel giugno 2021; la fonte non stabilisce l'esistenza di un unico fondatore. Il materiale ufficiale indirizza gli utenti a Discord per assistenza e feedback e a GitHub per partecipazione e contributi.

Continue exploring

More published records in Developer Tools.

View all alternatives

Gatsby collega i siti web React a contenuti strutturati e a un rendering flessibile

Developer ToolsGoogle Analytics

Next.js porta routing, rendering e funzionalità server in React

Developer ToolsGoogle AnalyticsNext.js

nuxt.com

200 OK

Crea siti web e applicazioni Vue con routing, logica server e rendering flessibile

Developer ToolsNuxtVercel