Ritorno
Tech 2 min di lettura - 20 set. 20 - Arnaud Albalat

Cos'è la JAMStack?

La JAMStack è un'architettura di sviluppo web popolare da alcuni anni, che consiste nel compilare un sito web dinamico sotto forma di pagine statiche, al fine di accelerarne il rendering e quindi migliorare l'esperienza utente.
Questa architettura permette in particolare di semplificare la scalabilità dei siti, poiché le pagine statiche generate possono essere ospitate da un CDN, e quindi essere consegnate in modo scalabile e rapido in tutto il mondo. Sul piano della sicurezza, offre meno punti di ingresso agli attaccanti, e impedisce ad esempio gli attacchi DDoS. Infine, il costo dell'hosting è ridotto rispetto a un'applicazione web standard, poiché il costo dei server è sostituito dal solo costo del CDN.
JAM è l'acronimo di "JavaScript, APIs, Markup", che corrisponde alle tre componenti chiave di un sito in JAMStack: pagine HTML statiche ("Markup"), codice JavaScript per l'aspetto dinamico, e API.

La Toolbox di un sito in JAMStack

Per implementare un sito in architettura JAMStack, hai generalmente bisogno di 4 ingredienti:
  • un CMS headless per modificare e servire il contenuto dinamico (es. : Contentful, Strapi...)
  • un generatore di siti statici, per generare le tue pagine dal contenuto dinamico (es. : Gatsby, Gridsome...)
  • una pipeline che compila il tuo sito ad ogni cambiamento di contenuto o modifica di codice (es. : Gitlab CI/CD)
  • un CDN per ospitare il tuo sito (es.: Amazon CloudFront)
architettura
Funzionamento della JAMStack

Esempio

Il blog che stai leggendo è costruito sui principi della JAMStack:
  • gli articoli sono redatti e ospitati su Contentful ;
  • ad ogni pubblicazione o modifica di un articolo, Contentful chiama un webhook sul nostro server di sviluppo;
  • il nostro server compila il sito: recuperando gli articoli tramite l'API di Contentful, le pagine HTML vengono generate;
  • il sito è caricato su Amazon S3 e Amazon CloudFront per essere servito ai lettori.

Link utili

Se la JAMStack ti interessa e desideri approfondire la tua ricerca, ecco alcuni link che potrebbero interessarti:

Desideri essere accompagnato per lanciare il tuo progetto digitale ?

Invia il tuo progetto ora