Comparativa de estrategias de renderizado en aplicaciones web modernas
Renderiza en: Navegador
Cuándo: Cada visita
SEO: Débil
JS: Muy alto
Renderiza en: Servidor
Cuándo: Cada petición
SEO: Excelente
JS: Medio
Renderiza en: Build
Cuándo: Una sola vez
SEO: Excelente
JS: Bajo
Renderiza en: Servidor
Cuándo: Primera visita
SEO: Excelente
JS: Bajo
Renderiza en: Servidor
Cuándo: Según intervalo
SEO: Excelente
JS: Bajo/Medio
| Técnica | Significado | Dónde se Renderiza | Cuándo se Renderiza | Velocidad Inicial | SEO | Uso de JS | Cuándo Usarlo | Frameworks / Librerías |
|---|---|---|---|---|---|---|---|---|
| CSR | Client-Side Rendering | Navegador | Cada visita (todo con JS) | Lenta al inicio | Débil | Muy alto | Apps SPA muy interactivas | React SPA Angular Vue SPA Svelte SPA Preact SPA |
| SSR | Server-Side Rendering | Servidor | En cada petición | Rápida | Excelente | Medio | Apps dinámicas con contenido fresco | Next.js SSR Angular Universal Nuxt SSR SvelteKit SSR Remix |
| SSG | Static Site Generation | Servidor (build time) | Solo una vez (durante build) | Muy rápida | Excelente | Bajo o cero | Blogs, landings, docs, sitios estáticos | Astro Next.js SSG Nuxt SSG Eleventy Hugo Jekyll |
| ISG | Incremental Static Generation | Servidor (solo si la página no existe) | Primera visita a cada página | Rápida después de la primera visita | Excelente | Bajo | Grandes sitios estáticos con miles de páginas | Next.js (fallback) |
| ISR | Incremental Static Regeneration | Servidor | Según intervalo configurado (revalidate) | Muy rápida | Excelente | Bajo / medio | Contenido que cambia moderadamente | Next.js ISR Nuxt (experimental) |