Ho provato Astro.js, il nuovo framework per siti web

In questo articolo ti spiegherò cos’è e come funziona Astro.js, come rende i siti più veloci e focalizzati sul contenuto, e quando può essere un ottimo sostituto di un CMS come WordPress. È un articolo un po’ tecnico, ma non è nemmeno un tutorial per sviluppatori, per i quali esiste già una documentazione ufficiale.


Sono anni che faccio questo lavoro, e una delle mie preoccupazioni che mi tormenta costantemente è quella di restare al passo coi tempi. Il mondo dell’IT si muove in modo estremamente veloce, le tecnologie cambiano, i linguaggi si evolvono. 

Non sono mai stato uno che rincorre le tendenze, tantomeno quando si tratta di lavoro: se qualcosa funziona, non bisogna avere fretta di cambiarlo. A oggi, il caro vecchio PHP è ancora uno dei linguaggi server-side più usati al mondo, ci sono ancora siti molto ben posizionati che si basano completamente su jQuery (data di nascita: gennaio 2006), Bootstrap (che quest’anno compie 14 anni!) è ancora molto popolare ed utilizzato, e anzi una bella fetta dei siti che ho fatto negli ultimi anni si basano proprio su queste tecnologie. E se la passano ancora piuttosto bene. 

E di che ti preoccupi, allora? Bé, non mi preoccupo. Però nonostante gli anni che passano mi entusiasmo ancora quando riesco a trovare il tempo per imparare cose nuove, e credo che rimettere in discussione i propri strumenti di lavoro ogni tanto sia una pratica decisamente costruttiva.

E così, visto che dovevo rifare il sito di V3Recording, ne ho approfittato per provare il nuovo Astro.js.

Di cosa si tratta? Per spiegarlo senza attorcigliarmi in concetti complicati, facciamo un passo indietro e vediamo come funziona oggi la maggior parte dei siti web.

Il bibliotecario instancabile.

Facciamo un passo indietro. Ci sono diverse tecnologie che fanno funzionare un sito web. Alcune girano sul server, altri sui client, cioè sulle macchine degli utenti.

Le tecnologie lato server si occupano di immagazzinare e gestire i dati del sito su un database (tipicamente MySql), e grazie a linguaggi di programmazione specifici (come PHP) possono elaborare queste informazioni in tempo reale. 

Ad esempio, se ho un blog in WordPress, il database conserverà tutti i miei articoli, mentre PHP si occuperà di andarli a ripescare secondo le richieste dell’utente. Quando l’utente clicca sulla voce di menu “leggi tutti gli articoli”, PHP manda una richiesta al database tipo “ehi, tirami fuori tutti gli articoli su questo sito”, poi li riordina e li impacchetta in un formato leggibile dal browser, cioè in formato HTML. 

Oggi la maggior parte dei siti web è strutturata così: da una parte una dababase con i dati, dall’altra l’utente che ne richiede l’accesso, e in mezzo un bibliotecario instancabile (PHP) che corre come un pazzo tra gli archivi e ci restituisce ciò di cui abbiamo bisogno.

Questo sistema funziona benissimo ed è super collaudato, ma se ci fosse un sistema per eliminare dall’equazione il bibliotecario senza doverci avventurare da soli nei meandri della biblioteca?

Astro.js spiegato facile

I suoi creatori lo definiscono “un framework web per creare siti veloci e focalizzati sul contenuto”. 

Ok, si sa che i programmatori non sono mai stati dei geni del marketing, fosse passato da Apple l’avrebbero chiamato “il framework migliore di sempre” e avrebbero aggiunto che serve “per creare siti incredibilmente veloci” (ma poi non sarebbe stato più gratis… ma sto divagando!)

presentazione immaginaria di astro stile apple
Se Astro.js fosse stato inventato da Apple, l’avrebbero presentato più o meno così.

Astro.js è così veloce proprio perché può permettersi di licenziare il povero bibliotecario. O meglio, lo fa lavorare una volta sola, andando ad esaudire tutte le possibili richieste dei clienti e traducendo le informazioni in HTML (cioè il formato “letto” dal browser web).

Detto ciò, è tutto un altro mondo rispetto a WordPress: non è un CMS, non ha interfaccia grafica, insomma devi scrivere del codice. Il che è bellissimo, secondo me, ma se sei un web designer che conosce solo Elementor, WP Bakery e altre soluzioni drag-and-drop allora non fa per te.

Come funziona in pratica Astro.js?

Astro può raccogliere informazioni da più fonti: siti in WordPress (grazie alla REST API), banche dati compatibili col formato JSON, o semplici files HTML o Markdown. Una volta che gli abbiamo spiegato come raggruppare le informazioni e come presentarle sulla pagina, si lancia la compilazione del sito, e otteniamo un sito statico, cioè con tutte le informazioni “cristallizzate”. 

Astro

Score:98

Gatsby

Score:68

Next.js

Score:63

WordPress

Score:58

Nuxt

Score:54

Il mio primo sito con Astro.js

Erano anni che non sperimentavo qualcosa di totalmente nuovo per la creazione di un sito web.

È stato quasi come ricominciare da capo: nuovo metodo di lavoro, nuovi linguaggi, nuove procedure. È stato difficile: a volte pensavo “l’avessi fatto con PHP ci avrei messo un decimo del tempo!” ma questo è normale.

È come se un pianista dovesse imparare a suonare la chitarra elettrica da zero. All’inizio ti maledici per i crampi ai polsi e i calli alle dita, ma la prima volta che sali su un palco e fai un assolo con l’amplificatore che ti urla alle spalle ti rendi conto che sì, ne è valsa assolutamente la pena. 

E anche in questo caso, è stato un viaggio decisamente interessante e proficuo: il sito, per esempio, adesso è VELOCISSIMO. Tipo 99% di performance su Lighthouse, roba che mi veniva quasi da piangere.

Se sei proprio nerd ti interessa trovi un approfondimento tra i miei case studies per il sito dello studio di registrazione V3 Recording.

Lo userò ancora per i miei nuovi siti? Certo, l’ho già usato e lo sto usando su un nuovo progetto, ma non può essere una per tutti. 

Fare un sito con uno Static Site Generator come Astro è un’opzione molto efficace per i siti con poca interattività (ad esempio, siti vetrina, o siti aziendali senza e-commerce), ma diventa molto complicato da gestire nel caso in cui il cliente desideri avere un accesso per l’aggiornamento autonomo del sito. 

Certo, si può fare, ad esempio utilizzando WordPress in modalità headless, e sfruttando altri framework js come React o Vue (che si integrano benissimo con Astro.js) ma costerebbe decisamente di più, e non sempre il vantaggio in termini di velocità è giustificabile dal punto di vista economico: in alcuni casi, un CMS come WordPress (ovviamente con un tema sviluppato su misura) resta la scelta migliore.

Come sempre, la decisione dipende dalle esigenze specifiche del progetto, dalle esigenze del cliente e dall’esperienza del professionista che lo gestisce.

Se sei uno sviluppatore e vuoi approfondire il framework Astro.js, sul sito ufficiale trovi tutta la documentazione.

Davide Ghione
Web designer freelance
Natale 1985, il mio primo computer: scopro che i tasti fanno un bel rumore, e che se premo quelli giusti succedono cose incredibili. Da allora non ho mai smesso di esplorare e sperimentare. Oggi mi occupo di web design e comunicazione online.
Condividi articolo

Ti è piaciuto quello che hai letto? Condividilo!

Restiamo in contatto?
Iscriviti alla newsletter

Ogni tanto scrivo cose interessanti. È un evento piuttosto raro, per cui ti consiglierei di iscriverti alla newsletter per non perderti nulla.

Puoi annullare l'iscrizione in qualsiasi momento facendo click sul link nel piè di pagina delle nostre email. Utilizziamo MailerLite come piattaforma per l'invio delle Newsletter. Per maggiori informazioni in materia di privacy puoi leggere la privacy policy di MailerLite.

Ti abbiamo inviato una mail di conferma.

Puoi annullare l'iscrizione in qualsiasi momento facendo click sul link nel piè di pagina delle nostre email. Utilizziamo MailerLite come piattaforma per l'invio delle Newsletter. Per maggiori informazioni in materia di privacy puoi leggere la privacy policy di MailerLite.