Los mejores generadores de sitios web estáticos y cuándo debes elegirlos en lugar de un CMS

En el pasado, las páginas web eran sitios estáticos, con solo HTML y CSS (y luego algo de JavaScript). Trate de recordar lo que eso significa realmente.

No había código de servidor ni base de datos. Su navegador descargó y mostró un archivo HTML alojado en algún lugar. El desarrollo se realizó directamente en los archivos de texto o mediante programas como Dreamweaver.

El desarrollo web finalmente ganó ritmo y, hasta ahora, no ha dejado de acelerarse. En algún momento, surgió la noción de Sistema de Gestión de Contenidos (CMS). Luego, crecieron y prosperaron nuevas formas de desarrollar portales, blogs y sitios de marketing. Todavía lo hacen, siendo WordPress la principal opción de CMS en este momento.

Un CMS puede resolver muchos problemas, tanto desde el punto de vista del desarrollador como del administrador. Pero hay algunas razones para no usar uno de ellos y volver con un viejo amigo.

Seleccionar un CMS para un proyecto específico requerirá especificaciones y dependencias estrictas. Una instalación típica de WordPress necesitará un servidor web como Apache, PHP con varias extensiones y una base de datos MySQL. Todos estos deben actualizarse y mantenerse. Pero, en determinadas situaciones, estos procedimientos pueden incluso causar más problemas.

Uno de los factores más importantes para el desarrollo web en la actualidad es la seguridad. Eso, desafortunadamente, es una de las desventajas más importantes de los CMS. Usar un CMS es como volverse vulnerable a los ciberataques. La cantidad de vulnerabilidades a las que se abre aumenta con los complementos que instala y usa. (Los complementos son la verdadera razón para usar un CMS en primer lugar).

Aparte de la seguridad, otro factor importante de un proyecto moderno es el rendimiento. Un CMS genera la página que el usuario solicitó desde cero o utiliza un complemento integrado o instalable. El sistema de caché garantiza la reutilización de una página generada previamente siempre que sea posible. El uso de algún tipo de sistema de caché puede ayudar mucho, pero puede agregar algunos gastos generales.

Entonces, al crear un sitio estático, estos problemas se vuelven obsoletos. Un sitio estático consta únicamente, como su nombre indica, de archivos estáticos. Como algunos archivos HTML y CSS, y un poco de JavaScript.

No hay requisitos específicos para el tipo de máquina que albergará la página, no hay restricciones de idioma de back-end ni necesidad de una base de datos. Como archivos estáticos que se envían al navegador, no existen vulnerabilidades reales.

Las páginas reales ya están generadas y tal vez minimizadas. Desde el punto de vista del rendimiento, parecen ser mucho mejores que cualquier solución almacenada en caché de CMS.

Más aún, los generadores de sitios estáticos modernos generalmente leen archivos de tipo plano, como Markdown. El contenido de la publicación reside en archivos, en lugar de una base de datos, por lo que puede colocarlos en su flujo de trabajo de Git.

Pero los sitios estáticos también tienen algunas desventajas. Básicamente, estás abandonando el back-end de la web. Lo más importante es que pierde interactividad con el usuario: cosas como perfiles de usuario, favoritos y lecturas sugeridas. Hay formas de agregar un par de estas características, como comentar a través de la plataforma Disqus, pero no son óptimas.

La característica más importante que falta en estos generadores es la falta de una interfaz de usuario administrativa. (Aunque es razonable suponer que habrá una solución para esto en algún momento). Es posible que algunas personas más técnicas no encuentren tan difícil crear nuevos archivos en carpetas adecuadas y vincular activos como imágenes. Pero en su mayor parte, los creadores de contenido no técnico pueden encontrar la falta de una interfaz de usuario de administración como un infierno.

Esta es principalmente una decisión de planificación del proyecto basada en sus requisitos. Para muchos sitios web, un CMS es definitivamente excesivo.

Teniendo en cuenta los puntos anteriores, debería poder responder si un sitio web estático es suficiente para un proyecto específico. Pero otro problema sería la gran cantidad de opciones necesarias y el tiempo de configuración inicial que lo acompaña.

En el mundo de los CMS, hay innumerables opciones, pero también un ganador. WordPress, como opción, hará el trabajo para cualquier proyecto. En el mundo de los generadores de sitios estáticos, hay demasiadas opciones: 459 para ser precisos.

Pero no hay un ganador claro o alguna forma de diferenciarlos. Parece que podría cambiar a partir de ahora, pero aún está por verse. Algunos de ellos han ganado una gran popularidad y son dignos de mención.

Jekyll es, con mucho, el más popular de esos generadores. Está construido con Ruby e integrado en las páginas de GitHub. Por lo tanto, es bastante popular para proyectos personales y / o documentación. Tiene una gran base de usuarios y un gran directorio de complementos.

Hugo es bastante parecido a Jekyll. Está construido sobre Go y su principal punto contra Jekyll es su increíble velocidad. Jekyll puede ser bastante lento cuando se genera el sitio real, especialmente cuando aumenta el número de publicaciones / páginas.

Pero Hugo genera el sitio en cuestión de segundos. Hay otras abstracciones que hacen que Hugo sea más fácil de usar y más fácil de empezar. No necesita tanta configuración para crear algo desde cero.

Hexo es una adición más reciente y se creó con NodeJS. Anunciado y utilizado principalmente como plataforma de blogs, combina la extensibilidad de Jekyll con la velocidad de Hugo. (en realidad más rápido que Hugo)

Wintersmith es otro construido sobre NodeJS. Este es diferente ya que es bastante minimalista. Básicamente es una plataforma que puedes personalizar a través de algunos complementos según tus necesidades. Definitivamente requiere algunos ajustes para que funcione, pero deja más espacio para la personalización.

La última opción es la más nueva e interesante.

Gatsby es el marco que lleva las páginas estáticas a pilas hoy en día. Utiliza React.js y Webpack para crear un SPA (aplicación de página única) con su contenido. Promete eliminar gran parte de la configuración necesaria para dicha aplicación. Al hacerlo, proporciona al desarrollador una solución fácil de usar que, al final, producirá una aplicación moderna y de alta gama.

La verdad es que Gatsby se puede utilizar para muchas otras cosas además de un blog. Su verdadero límite aún no se ha encontrado (ya que solo alcanzó su primera versión estable a principios de este mes).

El hecho de que use React ayuda mucho, ya que más desarrolladores están usando React en este momento o planean hacerlo pronto.

Resumen

Al observar las descargas de los últimos seis meses, podemos ver que Gatsby podría ser un ganador en ciernes. Es posible que esos números no sean 100% ciertos.

Gatsby también se puede utilizar para cosas más complejas que la conversión de Markdown a HTML. Pero, a medida que su base de usuarios se expande rápidamente, es posible que hayamos encontrado WordPress para generadores de sitios estáticos.