Renderizado en Cliente vs. Servidor: Diferencias y Funciones
Clase 28 de 38 • Curso de Optimización Web
Contenido del curso
- 7

Entendiendo el Critical Rendering Path en Navegadores Web
11:11 - 8

Optimización de JavaScript para mejorar rendimiento web
10:53 - 9

Priorización de recursos CSS para mejorar rendimiento web
11:50 - 10

Optimización de Carga de Recursos con Preload, Prefetch y Preconnect
10:36 - 11

Optimización de Animaciones CSS para Mejorar el Renderizado
02:35
- 15

Optimización de Imágenes para Web: Formatos y Herramientas Efectivas
15:32 - 16

Optimización de Imágenes para Web: Uso de Tamaños y Formatos Adecuados
05:21 - 17

Comparación entre WebFonts y SVG: Ventajas y Desventajas
08:58 - 18

Lazy Loading de Imágenes: Técnicas y Estrategias Efectivas
10:14 - 19

Carga Adaptativa de Imágenes con Gatsby y Web API
04:13
- 20

Optimización de JavaScript para Producción Web
11:20 - 21

Análisis y Optimización de Bundles con Webpack
11:25 - 22

Optimización de Bundles en Proyectos Web con Webpack
17:14 - 23

Code Splitting con Webpack: Optimización de Bundles en Proyectos Web
06:31 - 24

Lazy Loading de Videos con JavaScript y Modales
21:44 - 25

Event Propagation y Filtrado de Eventos en JavaScript
17:24 - 26

Integración de Librerías en Proyectos JavaScript
14:58 - 27

Optimización de Carga de Modales con Lazy Loading en Webpack
13:25 - 28

Renderizado en Cliente vs. Servidor: Diferencias y Funciones
08:44 - 29

Implementación de Server Side Rendering en NodeJS
19:41 - 30

Optimización de Sitios con Static Site Generation
15:51
¿Qué es el Cliente Side Rendering (CSR)?
El Cliente Site Rendering (CSR) es una técnica de renderizado web que se realiza en el navegador del usuario. Cuando una aplicación web utiliza CSR, todo el procesamiento para generar el contenido visible en la página ocurre directamente en el dispositivo del usuario. Esto implica que:
- El navegador descarga un archivo HTML base que al leerlo desencadena una serie de peticiones.
- A través de estas peticiones se descargan archivos adicionales como JavaScript, CSS e imágenes.
- El archivo JavaScript principal, una vez descargado y ejecutado, se ocupa de solicitar información a las APIs y convierte esos datos en HTML.
- Todo este proceso de renderización se ejecuta completamente en el browser.
Aunque este método es efectivo, tiene ciertas limitaciones, como el tiempo de espera hasta que todo el JavaScript esté ejecutado, lo que puede afectar la accesibilidad y el SEO.
¿Cómo se compara con Server Side Rendering (SSR)?
El Server Site Rendering (SSR) es otra técnica que aborda algunas de las limitaciones del CSR al trasladar el proceso de renderizado al servidor. A continuación, se describen las principales diferencias y el flujo de funcionamiento del SSR:
- El navegador cliente envía una solicitud HTTP al servidor.
- El servidor, antes de devolver el HTML al navegador, ejecuta el JavaScript.
- Este JavaScript se conecta a las APIs necesarias para obtener información y luego renderiza el HTML directamente en el servidor.
- El HTML pre-renderizado se incluye en la respuesta al navegador, lo cual acelera la visualización del contenido.
- Aunque también se envía un archivo JavaScript, su rol principal es añadir interactividad, como la ejecución de modals o animaciones.
Este método ofrece una carga inicial más rápida y es más amigable con SEO, ya que el contenido está más pronto disponible para los motores de búsqueda. Además, reduce la carga en los dispositivos del cliente, ya que el procesamiento se lleva a cabo en el servidor.
¿Cuál es el mejor enfoque para tu proyecto?
Elegir entre CSR y SSR depende de varios factores relacionados con tu proyecto específico:
-
Tipo de Contenido: Si necesitas que los motores de búsqueda indexen rápidamente tu contenido, SSR es probablemente la mejor opción. Además, SSR es efectivo para aplicaciones que requieren rápido tiempo de carga inicial.
-
Arquitectura del Proyecto: Si tu aplicación es simple y no requiere mucho procesamiento inicial, CSR puede ser suficiente. Además, es útil para aplicaciones que son altamente interactivas y donde el estado de la UI cambia con frecuencia.
-
Infraestructura del Servidor: Implementar SSR requiere más recursos de servidor, ya que este asume gran parte del procesamiento que antes hacía el cliente. Asegúrate de tener la capacidad para manejar este requerimiento adicional.
Ambos métodos tienen sus ventajas y desventajas, y pueden incluso combinarse según cada vista o componente dentro del mismo proyecto para maximizar la eficiencia y el rendimiento. Siempre es recomendable evaluar tus necesidades específicas y considerar realizar pruebas de rendimiento antes de decidir la mejor solución para tu aplicación web.