Renderizados en la Web. ¿Para qué sirven?
Published: 2023-08-16 12:15:07

DISCLAIMER: Este post es solo para ofrecer un poco más de contexto sobre cada una de estas arquitecturas. Iré subiendo nuevos posts donde hablaré detalladamente sobre cada una.

Ahora hecho el disclaimer entremos en materia. Los sitios webs como tal han ido evolucionando con el tiempo, al igual que cualquier tecnología. Pero la forma de desarrollo y características de estos han obligado a crear y desechar herramientas y formas de hacer las cosas.

Los sistemas de renderizado web, como su nombre indica, son sistemas de renderizado. Y me preguntarán.

## ¿Qué es el renderizado?
“Renderizar” es un término que se utiliza en la jerga informática, para referirse al proceso en el que se hace una representación gráfica creada a través de un software

Esto suena muy elaborado y complejo, cambiando un poco las palabras podemos decir que el renderizado va a ser la forma en la que mostraremos nuestro sitio web en el navegador del usuario. Si con esto aún no te queda claro el concepto de renderizado, a medida que vayamos explicando cada uno de los tipos los iras entendiendo.

## Renderizado en el lado del servidor (SSR)
El renderizado en el lado del servidor (SSR) es una técnica en la cual el servidor genera el HTML completo de una página web y lo envía al navegador. Esta estrategia tiene como objetivo mejorar la velocidad de carga de la página, ya que el usuario recibe un HTML ya renderizado y listo para mostrar. El SSR es especialmente útil en aplicaciones que requieren una rápida visualización de contenido, puesto que reduce el tiempo necesario para descargar, analizar y renderizar el HTML en el cliente.

Aunque el SSR ofrece beneficios en términos de velocidad de carga, puede resultar más complejo de implementar en comparación con otras formas de renderizado. Además, no es la mejor opción para aplicaciones web complejas que necesitan una interacción en tiempo real constante.

## Renderizado en el lado del cliente (CSR)
El renderizado en el lado del cliente (CSR) implica que el navegador descarga el HTML, CSS y JavaScript necesarios para renderizar y mostrar la página. Esta técnica permite una mayor interactividad en tiempo real, ya que los datos pueden ser cargados y actualizados sin necesidad de recargar la página completa. El CSR es ideal para aplicaciones web que requieren una experiencia de usuario altamente interactiva.

Sin embargo, el CSR puede ser más lento en la carga inicial, pues el navegador necesita descargar y procesar todo el código antes de poder renderizar la página. Esto puede resultar en una breve demora antes de que el contenido sea visible para el usuario.

## Renderizado híbrido
El renderizado híbrido es una combinación de las ventajas del SSR y el CSR. En este enfoque, el servidor genera el HTML inicial y lo envía al navegador, mientras que el cliente continúa renderizando y actualizando la página a medida que se cargan los datos adicionales. Esta estrategia es especialmente útil para aplicaciones web complejas que requieren una gran cantidad de interacciones en tiempo real, pero también necesitan una respuesta rápida en la carga inicial.

El renderizado híbrido, al combinar lo mejor de ambos mundos, ofrece una experiencia de usuario más fluida y rápida en comparación con el SSR o el CSR por sí solos. Permite que la página se cargue rápidamente y al mismo tiempo brinda la capacidad de actualización y carga de datos en tiempo real.

## Generador de sitios estáticos (SSG)
Un generador de sitios estáticos (SSG) es una herramienta que permite convertir contenido dinámico en páginas estáticas HTML. Los SSG generan el HTML completo de un sitio web en tiempo de compilación, en lugar de generarlo en tiempo real en cada solicitud. Esto proporciona una serie de beneficios, como un mejor rendimiento, mayor seguridad y la capacidad de alojar el sitio en un servidor simple sin necesidad de un servidor de aplicaciones.

### **Conclusiones y tabla comparativa**

|  | SSR | CSR | Renderizado híbrido | SSG |
| --- | --- | --- | --- | --- |
| Velocidad de carga | Rápida | Más lenta en la carga inicial | Rápida en la carga inicial | Muy rápida |
| Interactividad | Limitada | Alta | Alta | Muy limitada |
| Complejidad de implementación | Moderada | Baja | Moderada | Baja |
| Requerimientos del servidor | Mayor | Menor | Mayor | Menor |
| Interacciones en tiempo real | Limitadas | Altas | Altas | Muy limitada |
| Capacidad de actualización en tiempo real | Limitada | Alta | Alta | Muy limitada |
| Beneficios adicionales | Mayor rendimiento | Mayor flexibilidad | Combinación de ventajas | Mayor seguridad y rendimiento |

En resumen, el renderizado en el lado del servidor (SSR) es útil para obtener una carga rápida y una menor complejidad de implementación, pero puede limitar la interactividad y las interacciones en tiempo real. Por otro lado, el renderizado en el lado del cliente (CSR) ofrece una mayor interactividad, pero puede tener una carga inicial más lenta. El renderizado híbrido combina lo mejor de ambos enfoques, proporcionando una experiencia de usuario fluida y rápida. Los SSG, por su parte, son una opción adecuada para sitios web con contenido que no cambia con frecuencia y no requiere interacciones en tiempo real.