Strapi è un Content Manager open source con caratteristiche differenti a quelle che potremmo ritrovare in soluzioni alternative più conosciute come WordPress. Si tratta infatti di un CMS headless basato su JavaScript che ha il vantaggio di essere altamente personalizzabile.
Cosa è un CMS headless
Rientrano in questa categoria le piattaforme CMS dove il back-end viene separato dal font-end. Quindi la componente deputata alla gestione del contenuto e alla logica di business risulta indipendente rispetto all'interfaccia utente e viceversa.
In un CMS headless il back-end fornisce il contenuto unicamente attraverso API, mentre il front-end può essere sviluppato tramite tecnologie e framework differenti. Si ha così una maggiore flessibilità in fase di progettazione e sviluppo dell'interfaccia. Inoltre l'approccio headless semplifica la distribuzione del contenuto su più piattaforme, come siti web, applicazioni mobile, software per device IoT e non solo. Questo perché esso diventa accessibile via API e può essere fruito tramite qualsiasi dispositivo.
Caratteristiche di Strapi
Strapi, qui il suo repository su GitHub, permette di ospitare progetti sia su configurazioni self-hosted che sul Cloud (AWS, Azure, Google Cloud..). Il pannello di controllo può essere esteso e customizzato facilmente e sono supportati tutti i Database Manager più diffusi, tra cui anche PostgreSQL, MySQL, MariaDB, ed SQLite.
Il livello delle performance è assicurato dal fatto che il progetto si basa sul runtime Node.JS, mentre per quanto riguarda l'inclusione del frontend si può usare un qualsiasi framework JavaScript come React, Angular o Vue. La possibilità di lavorare da linea di comando permette inoltre di effettuare rapidamente lo scaffolding di applicazioni ed API.
Installazione del CMS
È possibile installare Strapi con yarn che rappresenta anche la soluzione raccomandata dall'autore del progetto:
yarn create strapi-app my-project --quickstart
In alternativa si può sfruttare npx tramite la seguente istruzione:
npx create-strapi-app my-project --quickstart
Questo comando genera un nuovo progetto con le funzionalità predefinite tra cui autenticazione, autorizzazioni, gestione dei contenuti e caricamento dei file). Il comando di avvio rapido installa Strapi utilizzando un database SQLite che viene utilizzato per la prototipazione in fase di sviluppo.