SSG (Static Site Generator) es el acrónimo para el conjunto de tecnologías que permiten la generación de sitios estáticos, sin hacer consultas una base de datos. Es decir, archivos de texto (como xml, json o markdown).
Los primeros sitios web eran páginas web estáticas cuyo contenido no se podía modificar
Aquí puedes encontrar una lista de generadores de sitios estáticos; como Jekyll, Fask, Hexo, Hugo, Next.js, Eleventy o Gatsby. Los cuales hacen uso de plantillas para generar las páginas.
- Por definicón, un sitio estático se debe poder servir directamente desde un CDN.
Actualemte los sistemas de gestión de contenido (CMS) y los creadores de sitios web, almacenan el contenido en bases de datos, para generar sitios dinámicos usando igualmente de plantillas.
Por otro lado, SSR (Server Side Rendered) es también una ténica que ha existido por años en la web, se trata básicamente de permitir que sea el servidor quien genere el sitio; aqui destacan tecnologías como PHP, Java, Python, Ruby y más recientemente GO y Node.js (JavaScript). Pero tambien podemos citar a C#, Scala, Pearl, C++ y Kotlin.
Cuando hablamos de SSR en el mundo de Javascript, lo que realmente estamos diciendo es JIR (Javascript Isomorphic Rendering)
Rehidratación
La rehidratación de contenido es un proceso que ocurre cuando un sitio, hecho con un asistente de JavaScript, tal como Angular o React, actualiza de forma dinámica el contenido en la página sin necesidad de una recarga total de la página. Dicho de otra forma, la rehidratación es una solución para añadir interactividad al HTML renderizado en el servidor, adjuntando manejadores de eventos a los elementos HTML.
Una vez completada la rehidratación, la aplicación puede ejecutarse, y al hacer clic en los botones se actualizará la interfaz de usuario como se espera.
La hidratación requiere que todos los posibles manejadores de eventos sean creados y registrados, por si acaso el usuario dispara el evento (trabajo potencialmente innecesario).
Por el contrario, los frameworks resumibles no crean los manejadores de eventos hasta que el evento se dispara. Por lo tanto, los frameworks resumibles permiten crear un excelente rendimiento de arranque.