Nelle scorse ore il team del web framework all-in-one ha annunciato il rilascio di Astro 5.3. Una versione pensata per introdurre miglioramenti nelle prestazioni di rendering delle pagine e per semplificare la configurazione delle sessioni di storage.
Con Astro 5.3 il rendering delle pagine è più veloce
In precedenza Astro rendeva asincroni tutti i componenti e le pagine, anche quando non era strettamente necessario. Ciò causava un sovraccarico legato alla gestione delle promises. Grazie al contributo della comummunity ora Astro renderizza i componenti in modalità asincrona solo se contengono effettivamente una chiamata a una funzione asincrona.
Nei benchmark questo cambiamento ha portato ad una notevole accelerazione nel rendering dei componenti sincroni, con miglioramenti sia nelle build statiche che nelle risposte SSR (il Dynamic Rendering). Nel sito web della documentazione di Astro, composto da ben 5.300 pagine, i tempi di build statica sono stati ridotti ad esempio del 10-15%. Nel benchmark SSR di Platformatic, che genera una pagina con oltre 3 mila componenti, le richieste sono risultate fino a 4 volte più veloci. Per beneficiare di questo miglioramento è quindi sufficiente aggiornare Astro all'ultima versione.
Configurazione automatica dello storage delle sessioni (e non solo)
Astro 5.1 ha introdotto un'API sperimentale per la gestione delle sessioni di storage, cosa che ha portato anche il supporto a diversi driver di storage lato backend. Se in precedenza era necessario configurare manualmente un driver di storage nel file astro.config.mjs
, ora Astro configura automaticamente lo storage delle sessioni quando si utilizza un adapter compatibile.
Ad oggi il supporto automatico è disponibile per l'adapter @astrojs/node
, che utilizza il file system per lo storage, e per @astrojs/netlify
, che utilizza Netlify Blobs anche per l'archiviazione di dati non strutturati. Per abilitare questa funzionalità è necessario impostare il flag experimental.session
su true
nel file astro.config.mjs
. Se si sta già utilizzando la funzione di sessione sarà necessario aggiornare la configurazione alla nuova sintassi.
Oltre a questi aggiornamenti Astro 5.3 offre un maggiore controllo sul bundling per Netlify e una gestione migliorata delle richieste HEAD
quando viene definito un handler GET
. Per aggiornare un progetto esistente è possibile utilizzare @astrojs/upgrade
o eseguire manualmente il comando di aggiornamento per il proprio gestore di pacchetti preferito.