Volver al blog
Astro vs Next.js: cuándo usar cada uno

Astro vs Next.js: cuándo usar cada uno

Comparamos dos frameworks que usamos en producción. No hay un ganador universal — depende del proyecto. Acá explicamos cómo decidimos.

15 de noviembre de 2024 @devlabscl 2 min de lectura
astro nextjs frameworks performance

El dilema de elegir framework

Cada vez que arrancamos un proyecto nuevo, la pregunta aparece: ¿Next.js o Astro? Después de usar ambos en producción durante años, la respuesta siempre es depende.

No es una respuesta vaga. Es la respuesta correcta.

Cuándo elegimos Astro

Astro brilla en sitios donde el contenido es rey:

  • Sitios corporativos — HTML estático, carga instantánea, SEO perfecto out of the box.
  • Blogs y documentación — Content Collections hace que manejar Markdown sea trivial.
  • Landing pages — Cero JavaScript en el cliente por defecto. Lighthouse 100 sin esfuerzo.

La arquitectura de “islands” permite que solo los componentes interactivos carguen JavaScript. El resto es HTML puro.

---
// Solo este componente envía JS al cliente
import ContactForm from '../components/ContactForm.tsx';
---

<h1>Contenido estático, sin JS</h1>
<ContactForm client:visible />

Cuándo elegimos Next.js

Next.js es la elección cuando la app necesita interactividad pesada:

  • Dashboards — Estado compartido entre componentes, actualizaciones en tiempo real.
  • Apps con autenticación — Middleware, sesiones, protección de rutas.
  • E-commerce complejo — Server components + cliente interactivo en la misma app.

El App Router con React Server Components cambió el juego. Renderizado en servidor sin sacrificar interactividad.

Nuestra regla de decisión

CriterioAstroNext.js
Contenido estático⚠️
App interactiva⚠️
SEO crítico
Bundle size mínimo⚠️
Ecosistema React⚠️

Si el sitio es mayormente contenido con algo de interactividad → Astro. Si es una aplicación web completa → Next.js.

La trampa de elegir por popularidad

El error más común que vemos es elegir Next.js para un sitio corporativo de 5 páginas. Terminas con un bundle de 200KB para mostrar texto e imágenes.

Lo mismo aplica en reversa: no uses Astro para un dashboard con 50 componentes interactivos. No es su fuerte.

Elige por el problema, no por el hype.