#Sviluppo

CMS e JAMStack: come cambia modo di gestire il contenuto

marco boffo
Marco Boffo
gennaio 2020 - 3 minuti
marco-boffo-jamstack

Chiunque abbia deciso di sviluppare per il web negli ultimi anni ha sicuramente sentito parlare di JAMStack.

JAMStack è uno stack tecnologico formato dai Javascript API Markup ed è un’astrazione per concepire e sviluppare applicazioni.

Partendo dal Markup, che è un sistema per annotare un documento in modo distinguibile dal testo, generalmente vogliamo ricevere dinamicamente dal nostro CMS (come Contentful o WordPress) dei dati utili a formare la nostra applicazione (prodotti, articoli e immagini) e quindi ci serviamo di API.

Il collante di questi due mondi è Javascript, un linguaggio dinamico in grado di unire Markup e API e dare vita a siti e applicazioni.

Da questo concetto derivano moltissimi progetti: il mondo che circonda il JAMStack è in fermento. La questione tecnologica ha già spinto diverse aree vicine al web (come il Content Management) verso profondi cambiamenti.

JamStack-PalazzinaCreativa-Diario

Per gestire il contenuto ci serviamo e continueremo a servirci di CMS (Content Management System) e il JAMStack ha cambiato drasticamente il modo di concepire architetture e interfacce di questi sistemi.

Prima di capire cosa è cambiato è necessario analizzare come è formato un CMS. Un CMS è un’applicazione formata da due applicazioni più piccole. Una si chiama Content Management Application e una Content Delivery Application. I nomi delle due cellule che compongono questo organismo già fanno intuire il loro scopo: una serve a gestire il contenuto e una serve a fornirlo alle applicazioni che lo richiedono.

Prima di questa rivoluzione tecnologica, le due cellule risiedevano nello stesso punto ed erano quindi indivisibili: ora sono ben separate, sia concettualmente sia fisicamente.

Per capire i vantaggi che questa separazione può portare prima è necessario capire quali sono le caratteristiche che cerchiamo in un CMS, il gestore dei nostri contenuti.

  • Ricerca e organizzazione interna del contenuto
  • Gestione dello stato dei contenuti
  • Gestione dei media legati al contenuto
  • Sicurezza
  • Possibilità di utilizzare il contenuto su diverse piattaforme
  • Gestione delle versioni del contenuto
  • Gestione dei permessi
  • Esperienza utente unificata per la gestione di tutti i contenuti
  • Facilità di implementazione lato sviluppo
  • Strumenti di utilità per implementare funzioni di accessibilità e altri standard

I CMS classici (WordPress, Drupal e altri) rispondono a queste esigenze fornendo:

  • Un database che contiene tutti i contenuti che abbiamo inserito
  • Un pannello di amministrazione
  • Una tecnologia scelta dall’azienda che fornisce il CMS che pilota tutto lo sviluppo del sito
  • Integrazione di altre fonti di dati tramite plugins

CMS Headless invece forniscono:

  • Un database contente i dati
  • Un pannello amministrativo
  • Un’interfaccia di distribuzione dati agnostica dal punto di vista del linguaggio di programmazione

Separando i concetti ed evitando di imporre una tecnologia all’utilizzatore, i CMS Headless hanno minore superficie di attacco e maggiore possibilità di integrazione.

L’utilizzo diffuso dei CMS Headless permette finalmente di ridurre il tempo di integrazione con sistemi già esistenti e di creare delle nuove strategie di business con un dispendio di risorse per lo sviluppo molto più irrisorie.