El beneficio principal de utilizar Angular Universal tiene que ver con el rendimiento en el navegador, específicamente en la carga inicial. El renderizado del lado del servidor (Server Side Rendering, SSR) es una técnica que permite generar una vista completa de la página desde el servidor y la envía al cliente. En lugar de enviar solo el JavaScript y esperar a que el navegador del cliente componga la página, Angular Universal genera la página en el servidor y la envía al cliente como HTML estático y CSS. Esto acelera la carga inicial al permitir que los usuarios vean la página antes de que se cargue y ejecute todo el JavaScript.
Es especialmente útil para las aplicaciones de una única página (SPA), donde todas las vistas se manejan a través de JavaScript. Sin SSR, el navegador tendría que descargar, analizar y ejecutar el JavaScript antes de poder mostrar algo al usuario. Con SSR, el usuario puede comenzar a ver y a interactuar con la página inmediatamente.
Imagínate que estás accediendo a una aplicación de comercio electrónico desde una conexión lenta. Sin SSR, tendrías que esperar a que se completara toda la carga de JavaScript para poder ver los productos. Con SSR, podrías empezar a ver los productos y a navegar por la página en mucho menos tiempo.
Además de la mejora en la velocidad de carga, otra ventaja de Angular Universal es que facilita que los motores de búsqueda rastreen y indexen la página, lo que mejora su SEO. Esto se debe a que el contenido se muestra antes de que se ejecute JavaScript, algo con lo que los motores de búsqueda todavía tienen dificultades.
Es importante señalar que el SSR no siempre es la mejor opción. Puede aumentar la carga en el servidor, y cualquier interacción del usuario debe esperar hasta que se haya descargado y ejecutado el JavaScript. Por lo tanto, es más adecuado para aplicaciones que necesitan una rápida carga inicial y una buena SEO, como los blogs y las tiendas en línea.
En resumen, si tienes una aplicación Angular y deseas mejorar su rendimiento y su compatibilidad con SEO, puedes considerar usar Angular Universal para el renderizado del lado del servidor.