¿Qué es un generador de sitios estáticos?

Un generador de sitios estáticos automatiza el proceso de codificación de páginas web HTML estáticas.

Objetivos de aprendizaje

Después de leer este artículo podrás:

  • Definir qué hace un generador de sitios estáticos
  • Comparar generadores de sitios estáticos vs. CMS
  • Explorar las ventajas y desventajas de utilizar generadores de sitios estáticos

Copiar enlace del artículo

¿Qué es un generador de sitios estáticos?

Un generador de sitios estáticos es una herramienta que genera un sitio web HTML estático completo a partir de datos brutos y un conjunto de plantillas. En esencia, un generador de sitios estáticos automatiza la tarea de codificar páginas HTML individuales y las prepara para servir a los usuarios con antelación. Ya que estas páginas HTML están preconstruidas, pueden cargarse muy rápido en los navegadores de los usuarios.

Los generadores de sitios estáticos son una alternativa a los sistemas de gestión de contenido (CMS), otro tipo de herramienta para gestionar el contenido web, generar páginas web e implementar plantillas. (Una plantilla es un formato reutilizable para el contenido web; los desarrolladores utilizan plantillas para evitar escribir el mismo formato una y otra vez). Los generadores de sitios estáticos suelen formar parte de un enfoque de desarrollo web JAMstack .

¿Qué es un sitio web estático?

Un sitio web estático está formado por una o varias páginas web HTML que se cargan siempre de la misma manera. Los sitios web estáticos se diferencian de los dinámicos en que se cargan de forma diferente en función de cualquier número de datos cambiantes, como la ubicación del usuario, la hora del día o las acciones del usuario. Mientras que las páginas web estáticas son simples archivos HTML que pueden cargarse rápidamente, las páginas web dinámicas requieren la ejecución de un código JavaScript dentro del navegador para poder ser renderizadas.

¿Cuál es la diferencia entre un generador de sitios estáticos y un CMS?

En los primeros tiempos de Internet, los sitios web se almacenaban como sitios HTML estáticos, con todas las páginas web diseñadas y codificadas de antemano. Esto era ineficiente, porque obligaba a los desarrolladores a codificar manualmente cada página web.

Los sistemas de gestión de contenido (CMS) surgieron para que los desarrolladores evitaran toda esa configuración manual. En lugar de codificar las páginas de antemano, el contenido se almacena en una base de datos de CMS, y cuando un usuario solicita una página, el servidor hace lo siguiente:

  1. Consulta en la base de datos el contenido adecuado
  2. Identifica la plantilla en la que encajará el contenido
  3. Genera la página
  4. Sirve la página al usuario

El contenido del CMS tiene que encajar en uno de los campos que ofrece la base de datos del CMS, pero mientras lo haga, debería aparecer siempre en su lugar adecuado del sitio web.

Un generador de sitios estáticos es un compromiso entre estos dos enfoques. Al igual que un CMS, permite que los desarrolladores usen plantillas y generen automáticamente páginas web, pero lo hace con antelación, en lugar de hacerlo en respuesta a la solicitud del usuario. Esto hace que el rendimiento del sitio web sea más rápido, ya que las páginas web están listas al instante para que puedan entregarse a los usuarios finales. También ofrece una mayor personalización a los desarrolladores, ya que no están limitados por los campos de la base de datos que ofrece el CMS.

¿Cuáles son las ventajas y desventajas de utilizar un generador de sitios estáticos?

Ventajas

  • Rendimiento: como los generadores de sitios estáticos crean las páginas web de antemano en lugar de hacerlo a la carta (como con un CMS), las páginas web se cargan ligeramente más rápido en los navegadores de los usuarios.
  • Personalización: los desarrolladores pueden crear la plantilla que quieran. No están limitados por los campos proporcionados por un CMS, ni por las plantillas incorporadas de un CMS.
  • Backend más ligero: los sitios web estáticos son ligeros y no requieren tanto código para ejecutarse en el lado del servidor, mientras que los sitios web basados en CMS consultan constantemente el lado del servidor para obtener contenido.

Desventajas

  • Pocas o ninguna plantilla preconstruidas: el inconveniente de la personalización ilimitada es que se necesita más tiempo para empezar a usarla. Muchos generadores de sitios estáticos no vienen con plantillas, y los desarrolladores tendrán que dedicar mucho tiempo en crearlas desde cero al principio.
  • La interfaz no es fácil de usar: es más difícil para los usuarios que no son desarrolladores publicar contenidos con un generador de sitios estáticos. No hay una interfaz de CMS, y trabajar con datos sin formato puede ser abrumador para los usuarios. Además, a menudo es necesario el apoyo de un desarrollador para realizar actualizaciones del sitio web.

¿Cómo se relaciona JAMstack con los generadores de sitios estáticos?

JAMstack (JAM es la sigla de "JavaScript, API, Marcado") es una metodología para crear aplicaciones web ligeras y de rápido rendimiento de forma eficaz. Las aplicaciones JAMstack son estáticas, con API utilizadas para cualquier funcionalidad de backend. Los generadores de sitios estáticos permiten que los desarrolladores creen rápidamente el frontend de una aplicación JAMstack.

¿Cómo se utilizan las estructuras de frontend con los generadores de sitios estáticos?

Una estructura de frontend es una colección de archivos y carpetas de código preconstruido para ayudar al diseño y al formato de un sitio web. Las estructuras frontend más habituales son Bootstrap, React y Vue.js, aunque hay muchas otras.

Las estructuras de frontend son extremadamente útiles cuando los desarrolladores están construyendo inicialmente un sitio web. Sin embargo, las estructuras de frontend por sí mismas no generan páginas web HTML, a menos que un desarrollador utilice herramientas adicionales. Un generador de sitios estáticos puede utilizarse junto con una estructura para que un desarrollador consiga rápidamente que un sitio web o una aplicación completamente diseñados estén listos para su uso. La mayoría de los generadores de sitios estáticos permiten que los desarrolladores utilicen la estructura que quieran.

¿Qué es Markdown?

Markdown es un lenguaje de marcado sencillo y ampliamente utilizado para dar formato a texto. En la actualidad, muchos desarrolladores prefieren utilizar Markdown en lugar del tradicional HTML a la hora de codificar contenidos, y muchos generadores de sitios estáticos son compatibles con Markdown.

¿Cuáles son los generadores de sitios estáticos más utilizados?

En la actualidad hay muchos generadores de sitios estáticos. Algunos importantes que hay que conocer son:

  • Jekyll
  • Gatsby
  • Hugo
  • Next.js
  • Eleventy

Cloudflare Pages se aloja en la red global de Cloudflare, que se encuentra a menos de 100 ms del 99 % del mundo conectado a Internet para ofrecer una entrega de contenido casi instantánea a los usuarios finales. Cloudflare Pages se basa en las funciones sin servidor de Cloudflare Workers y permite a los desarrolladores crear aplicaciones web ligeras y escalables.

Más información sobre cómo implementar un sitio Jekyll, un sitio Gatsby, un sitio Hugo y más con Cloudflare Pages.