Astro: el framework más rápido para sitios estáticos
Descubre por qué Astro es el framework más rápido para sitios estáticos y cómo optimiza tu web con rendimiento imbatible y simplicidad.
Si estás buscando un generador de sitios estáticos que vuele en velocidad, Astro es probablemente lo que necesitas. Olvídate de cargas pesadas de JavaScript: este framework entrega HTML puro desde el primer momento. En este artículo te cuento por qué se ha convertido en mi opción favorita para proyectos rápidos y ligeros.
¿Qué hace único a Astro?
Astro no es un framework más. Su secreto está en la hidratación parcial: solo carga JavaScript en los componentes que realmente lo necesitan. El resto se sirve como HTML estático. Esto se traduce en páginas que cargan en milisegundos y puntuaciones perfectas en Lighthouse.
Mientras que Next.js o Gatsby envían bundles de JS completos, Astro te permite decidir qué debe ser interactivo y qué no. El resultado es un sitio ultraligero incluso con mucho contenido dinámico.
Primeros pasos: crear un proyecto
Arrancar con Astro es trivial. Solo necesitas Node.js 18 o superior:
npm create astro@latest mi-sitio
cd mi-sitio
npm run dev
En segundos tienes un servidor de desarrollo en localhost:4321. La estructura es limpia:
mi-sitio/
├── src/
│ ├── pages/ # Tus rutas (index.astro, blog.astro...)
│ ├── components/ # Componentes reutilizables
│ └── layouts/ # Plantillas base
├── public/ # Archivos estáticos
└── astro.config.mjs
Los archivos .astro mezclan HTML, CSS y JavaScript en un mismo componente, pero sin la complejidad de JSX puro. Ejemplo básico:
---
// Código del servidor (se ejecuta en build)
const titulo = "Hola, mundo";
---
<html>
<head><title>{titulo}</title></head>
<body>
<h1>{titulo}</h1>
</body>
</html>
Todo lo que está entre --- se ejecuta en el servidor o en tiempo de build. El resultado es HTML plano.
Integración con otros frameworks
Aquí viene lo potente: puedes usar React, Vue, Svelte o Solid dentro de Astro. Instala el adaptador y empieza a mezclar:
npm install @astrojs/react
En astro.config.mjs:
import { defineConfig } from 'astro/config';
import react from '@astrojs/react';
export default defineConfig({
integrations: [react()]
});
Y luego usas componentes de React sin más:
---
import MiContador from '../components/MiContador.jsx';
---
<MiContador client:load />
La directiva client:load le dice a Astro que hidrate ese componente en el navegador. El resto de la página sigue siendo estático.
Despliegue y rendimiento real
Astro genera una carpeta dist/ con HTML, CSS y JS optimizados. Subirlo a producción es cuestión de segundos. Lo he probado con Cloudflare Pages, Netlify y Vercel, y en todos funciona de maravilla.
Un ejemplo de mi experiencia: un blog con 50 artículos, imágenes optimizadas y un par de componentes interactivos. Con Astro, el primer pintado ocurre en menos de 0.5 segundos. Con un generador tradicional, superaba los 2 segundos. La diferencia es brutal.
Además, Astro soporta Markdown y MDX de serie, ideal para blogs o documentación. Solo creas un archivo .md en src/pages/ y ya tienes una ruta.
Conclusión
Astro no es una moda pasajera. Resuelve un problema real: la sobrecarga de JavaScript en la web moderna. Si necesitas un sitio rápido, mantenible y sin complejidades innecesarias, este framework te va a encantar. Pruébalo en tu próximo proyecto y notarás la diferencia desde el primer npm run build.