I migliori generatori di siti Web statici e quando sceglierli su un CMS

In passato, le pagine web erano siti statici, con solo HTML e CSS (e in seguito alcuni JavaScript). Cerca di ricordare cosa significa in realtà.

Nessun codice server o database. Il tuo browser ha scaricato e visualizzato un file HTML ospitato da qualche parte. Lo sviluppo è stato eseguito direttamente nei file di testo o tramite programmi come Dreamweaver.

Lo sviluppo web ha finalmente preso ritmo e, fino ad ora, non ha smesso di accelerare. Ad un certo punto è emersa la nozione di Content Management System (CMS). Quindi, sono cresciuti e hanno prosperato nuovi modi di sviluppare portali, blog e siti di marketing. Lo fanno ancora, con WordPress che è la principale scelta CMS in questo momento.

Un CMS può risolvere molti problemi, sia dal punto di vista dello sviluppatore che dell'amministratore. Ma ci sono alcuni motivi per non usarne uno e tornare da un vecchio, vecchio amico.

La selezione di un CMS per un progetto specifico richiederà specifiche e dipendenze rigide. Una tipica installazione di WordPress avrà bisogno di un server web come Apache, PHP con varie estensioni e database MySQL. Tutti questi devono essere aggiornati e mantenuti. Ma, in determinate situazioni, queste procedure possono anche causare più problemi.

Uno dei fattori più importanti per lo sviluppo web oggi è la sicurezza. Questo, sfortunatamente, è uno degli aspetti negativi più importanti dei CMS. Usare un CMS è come rendersi vulnerabili agli attacchi informatici. Il numero di vulnerabilità a cui ti esponi aumenta con i plugin che installi e utilizzi. (I plugin sono la vera ragione per utilizzare un CMS in primo luogo.)

Oltre alla sicurezza, un altro fattore importante di un progetto moderno sono le prestazioni. Un CMS genera la pagina richiesta dall'utente da zero o utilizza un plug-in integrato o installabile. Il sistema di cache garantisce il riutilizzo di una pagina pre-generata quando possibile. L'uso di un qualche tipo di sistema di cache può aiutare molto, ma può aggiungere un bel po 'di overhead.

Quindi, creando un sito statico, questi problemi diventano obsoleti. Un sito statico consiste solo, come suggerisce il nome, di file statici. Come alcuni file HTML e CSS e un po 'di JavaScript.

Non ci sono requisiti specifici per il tipo di macchina che ospiterà la pagina, nessuna restrizione linguistica di back-end e nessuna necessità di un database. Poiché i file statici vengono forniti al browser, non esistono vulnerabilità effettive.

Le pagine effettive sono già generate e forse minimizzate. Dal punto di vista delle prestazioni, sembrano essere molto meglio di qualsiasi soluzione memorizzata nella cache CMS.

Inoltre, i moderni generatori di siti statici in genere leggono da file di tipo flat, come Markdown. Il contenuto del post risiede in file, invece che in un database, quindi puoi inserirli nel tuo flusso di lavoro Git.

Ma i siti statici presentano anche alcuni svantaggi. In pratica stai abbandonando il back-end del web. Soprattutto, perdi l'interattività con l'utente, cose come profili utente, preferiti e letture suggerite. Esistono modi per aggiungere un paio di queste funzionalità, come i commenti tramite la piattaforma Disqus, ma non sono ottimali.

La caratteristica più importante che manca a questi generatori è la mancanza di un'interfaccia utente amministrativa. (Sebbene sia ragionevole supporre che ad un certo punto ci sarà una soluzione.) Alcune persone più tecniche potrebbero non trovare così difficile creare nuovi file nelle cartelle appropriate e collegare risorse come immagini. Ma per la maggior parte, i creatori di contenuti non tecnici potrebbero ritenere che la mancanza di un'interfaccia utente di amministrazione sia un inferno vivente.

Questa è principalmente una decisione di pianificazione del progetto basata sui suoi requisiti. Per molti siti Web, un CMS è decisamente eccessivo.

Considerando i punti precedenti, dovresti essere in grado di rispondere se un sito Web statico è sufficiente per un progetto specifico. Ma un altro problema sarebbe la grande quantità di scelte richieste e il relativo tempo di configurazione iniziale.

Nel mondo CMS ci sono innumerevoli opzioni, ma anche un vincitore. WordPress, come scelta, farà il lavoro per qualsiasi progetto. Nel mondo Static Site Generators, ci sono troppe opzioni, 459 per essere precisi.

Ma non esiste un vincitore chiaro o un modo per differenziarli. Sembra che potrebbe cambiare d'ora in poi, ma resta da vedere. Alcuni di loro hanno guadagnato una vasta popolarità e vale la pena notare.

Jekyll è di gran lunga il più popolare di quei generatori. È costruito con Ruby e integrato in GitHub Pages. Quindi, è abbastanza popolare per progetti personali e / o documentazione. Ha una vasta base di utenti e una grande directory di plugin.

Hugo è proprio come Jekyll. È costruito su Go e il suo punto principale contro Jekyll è la sua incredibile velocità. Jekyll può essere piuttosto lento quando viene generato il sito effettivo, specialmente quando il numero di post / pagine aumenta.

Ma Hugo genera il sito in pochi secondi. Ci sono altre astrazioni che rendono Hugo più user-friendly e più facile con cui iniziare. Non è necessaria tanta configurazione per creare qualcosa da zero.

Hexo è un'aggiunta più recente e creata con NodeJS. Pubblicizzato e utilizzato principalmente come piattaforma di blog, combina l'estensibilità di Jekyll con la velocità di Hugo. (in realtà più veloce di Hugo)

Wintersmith è un altro costruito sopra NodeJS. Questo è diverso in quanto è abbastanza minimalista. Fondamentalmente è una piattaforma che puoi personalizzare tramite alcuni plugin in base alle tue esigenze. Sicuramente richiede qualche ritocco per farlo funzionare, ma lascia più spazio per la personalizzazione.

L'ultima opzione è la più recente e la più interessante.

Gatsby è l'unico framework che porta le pagine statiche alle pile al giorno d'oggi. Usa React.js e Webpack per creare una SPA (Single Page Application) con i tuoi contenuti. Promette di rimuovere gran parte della configurazione necessaria per tale applicazione. In questo modo, fornisce allo sviluppatore una soluzione facile da usare che, alla fine, produrrà un'applicazione moderna e di fascia alta.

La verità è che Gatsby può essere utilizzato per molte altre cose oltre a un semplice blog. Il suo vero limite non è stato ancora trovato (poiché ha raggiunto la sua prima versione stabile solo all'inizio di questo mese).

Il fatto che utilizzi React aiuta molto poiché sempre più sviluppatori stanno utilizzando React in questo momento o pianificano di farlo presto.

Sommario

Guardando i download degli ultimi sei mesi, possiamo vedere che Gatsby potrebbe essere un vincitore in divenire. Quei numeri potrebbero non essere veri al 100%.

Gatsby può essere utilizzato anche per cose più complesse rispetto alla conversione markdown in HTML. Tuttavia, poiché la sua base di utenti si espande rapidamente, potremmo aver trovato WordPress per i generatori di siti statici.