Il dado è tratto

Come Gatsby JS sta sfidando Wordpress e Drupal

Gatsby JS

Di certo non mancano le opzioni quando si tratta di piattaforme e CMS per creare un blog o un sito vetrina: dai tradizionali CMS basati su PHP – stiamo pensando proprio a voi WordPress e Drupal - a quelli più minimali e moderni come Ghost e Medium.

Tuttavia, nella nostra esperienza, sappiamo che praticamente tutte queste opzioni in genere costringono a rinunciare ad almeno una delle seguenti:

1. Soldi: elemento necessario di investimento mensile per mantenere il sito attivo e funzionante.

2. Tempo: impiegato per la manutenzione, lo scaling e la protezione dell'infrastruttura del sito una volta che è online (ovvero tempo DevOps).

3. Controllo: il grado di controllo che si ha sul look and feel, le prestazioni e l'architettura del sito.

Attualmente per la creazione e gestione di siti vetrina e blog con funzionalità non complesse sta emergendo una nuova possibilità grazie ad un interessante framework open source: Gatsby.js.

Il nostro primo incontro con Gatsby.js è avvenuto con la versione 1.0 grazie a Kyle Matthews, founder di Gatsby e famoso contributor della community Drupal, che da sempre anche noi di Hinto supportiamo.

Abbiamo conosciuto Kyle nei panni di drupalista e seguito con interesse l’evoluzione di Gatsby, nato inizialmente per facilitare la creazione di landing page.

C’è un’ottima ragione per cui tutti gli sviluppatori twittano su Gatsby affermando che sia ciò di più eccitante sul web da quando è arrivato Internet explorer.su webkit.per mac.

Essendo anche grandi fan e utilizzatori di React, abbiamo subito deciso di provare ad indagarlo e sporcarci le mani, rimanendone completamente strabiliati.

Gatsby nasce come un sistema di community, e punta molto sulla DX (Developer experience). Questo li ha portati a fornire un sistema di plugin per permettere di ridurre di molto il tempo impiegato per aggiungere determinate funzionalità al tuo sito, mettendo quelle comuni in pacchetti da applicare al tuo progetto. Quindi le cose più comuni o più utili esistono già, e non devi reinventarti la ruota ogni volta che devi sviluppare una certa funzionalità.

Se già ti piace React infatti, ti divertirai sicuramente a creare siti con Gatsby.

Poiché il pacchetto JavaScript include la libreria React, puoi includere i componenti React come se fosse un'app React normale.

Gatsby integra inoltre un livello GraphQL incredibilmente ingegnoso che consente di eseguire query e collegarsi con qualsiasi tipo di API!

Per noi sviluppatori, ciò significa che non siamo più limitati a fare affidamento sui file Markdown statici locali per memorizzare i dati dei nostri siti statici, anche se ciò può essere comunque fatto in modo molto efficiente.

Ora è possibile archiviare tali dati su qualsiasi database o dispositivo di archiviazione tradizionale. Possiamo quindi sfruttare GraphQL per recuperarlo e farne il render in qualsiasi forma desideriamo.

Una feature molto interessante sono i Gatsby Themes, che ti permettono di avere quelle funzionalità già pronte in base al tipo di sito che vuoi fare, sono aggiornabili e componibili. Differiscono dagli starter perchè quelli prevedono solo il boilerplate all'inizio, ma poi non aiutano più.

Ciò significa anche che i nostri clienti possono finalmente utilizzare un CMS adeguato per gestire tutto il contenuto dei loro siti vetrina e/o blog ogni volta che pubblicano, aggiornano o eliminano una voce, l'intero frontend statico verrà generato automaticamente da zero, risultando in una nuova versione che contiene le informazioni aggiornate.

Con un occhio al futuro, Gatsby include anche 'Push, Render Pre-Cache e Lazy-load pattern di Google.

Gatsby si occupa del pre-caricamento e della suddivisione del codice, il che rende la navigazione nei siti Gatsby un'esperienza follemente veloce.

Gatsby diventa ancora più potente se associato a Contentful, un potente CMS, suggerito dalla comunità di Gatsby.

 

Contentful e la prossima generazione di CMS

Contentful è sia un provider Content-as-a-service (CaaS) sia un eccellente sistema di gestione dei contenuti headless.

Invece di obbligarti a fare il render del tuo contenuto seguendo un certo paradigma, Contentful ti fornisce solo gli strumenti necessari per gestire il tuo contenuto - qualunque esso sia - ed esporlo tramite endpoint HTTP.

Tutto il contenuto è archiviato nei loro database, il che significa che non devi preoccuparti di mantenere o proteggere te stesso alcun server o database. Evviva!

Certo, c'è un piccolo problema: come la maggior parte dei provider “(blank) -as-a-service" là fuori, Contentful non è sempre gratuito. Sebbene abbiano un livello gratuito molto generoso che, a nostro avviso, è più che adeguato per la maggior parte dei siti statici e blog, una volta superata quella quota inizieranno a richiedere un pagamento aggiuntivo.

Contentful può essere perfetto per la gestione di un blog integrato con Gatsby utilizzando il pratico gatsby-source- plugin creato dalla community di Gatsby.

Qui puoi vedere una bella comparazione con Wordpress, per approfondire il tema puoi guardare le comparazioni presentate sul sito di Gatsby.

 

Performance and Developer Experience

Personalmente non vediamo l'ora di vedere dove ci porterà Gatsby.js, che in combinazione con l’utilizzo di paradigmi architettonici Serverless, prevediamo che potrebbe essere molto lontano.

Qualunque sia la meta, siamo sicuri che questo sia un passo nella giusta direzione per rendere il web un'esperienza più sicura, più veloce e più piacevole sia per gli sviluppatori che per gli utenti finali!

Se vuoi saperne di più 👉 contattaci.