Astro framework: guía completa
El framework web que prioriza el rendimiento enviando cero JavaScript por defecto
Astro es un framework web moderno que genera sitios rápidos por diseño. Su filosofía es radical: enviar cero JavaScript al navegador por defecto, hidratando componentes interactivos solo cuando es necesario. El resultado son páginas que cargan instantáneamente, con puntuaciones perfectas en Core Web Vitals.
Creado en 2021 por Fred K. Schott y el equipo detrás de Snowpack, Astro ha crecido hasta convertirse en la opción preferida para sitios de contenido, documentación, marketing y blogs. Esta guía cubre su arquitectura, funcionalidades clave y cuándo elegirlo frente a alternativas como Next.js o Nuxt.
Islands architecture: la base de Astro
La arquitectura de islas (islands) es el concepto central de Astro. Cada página se renderiza como HTML estático, y solo los componentes que necesitan interactividad (un carrusel, un formulario, un menú) se hidratan con JavaScript. El resto de la página permanece como HTML puro, sin coste de JavaScript.
Esto contrasta con frameworks SPA como React o Vue, donde toda la página se hidrata con JavaScript aunque el 90% del contenido sea estático. En Astro, un blog con un comentario interactivo solo envía JavaScript para el componente de comentarios, no para el artículo completo.
- HTML estático por defecto, JavaScript solo donde se necesita
- Directivas de hidratación: client:load, client:visible, client:idle, client:media
- Cada isla se hidrata independientemente, sin bloquear el renderizado global
- Compatible con React, Vue, Svelte, Preact, Solid y Lit en el mismo proyecto
Content Collections y gestión de datos
Astro incluye un sistema nativo de Content Collections que permite definir, validar y consultar contenido local (Markdown, MDX, JSON, YAML) con esquemas tipados usando Zod. Cada colección tiene su schema, y Astro genera tipos TypeScript automáticamente.
Para proyectos headless, Astro se integra con cualquier CMS que exponga una API: Strapi, Contentful, Sanity, WordPress (REST/GraphQL), Directus. Los datos se obtienen en build time (SSG) o en request time (SSR) según la configuración de cada ruta.
- Esquemas tipados con Zod para validación automática de contenido
- Generación automática de tipos TypeScript para cada colección
- Soporte nativo para Markdown y MDX con componentes integrados
- Loader API para conectar con fuentes de datos externas (CMS, bases de datos)
SSR, SSG y rendering híbrido
Astro soporta tres modos de renderizado: estático (SSG), servidor (SSR) y híbrido. En modo estático, todas las páginas se pre-renderizan en build time y se sirven desde CDN. En modo servidor, las páginas se generan en cada request. En modo híbrido, cada ruta puede elegir su estrategia.
Para sitios de contenido con actualizaciones infrecuentes, SSG ofrece el mejor rendimiento y los menores costes de hosting. Para rutas que requieren personalización, autenticación o datos en tiempo real, SSR es la opción adecuada. Astro permite combinar ambos en el mismo proyecto sin configuración compleja.
Rendimiento en la práctica
Astro produce las puntuaciones Lighthouse más altas entre los frameworks principales. Un sitio Astro típico obtiene 100/100 en Performance con páginas que pesan menos de 50KB de HTML y cero KB de JavaScript (salvo islas interactivas). Los tiempos de First Contentful Paint (FCP) y Largest Contentful Paint (LCP) están por debajo de 1 segundo en la mayoría de casos.
La optimización de imágenes integrada (astro:assets) genera automáticamente formatos modernos (WebP, AVIF), múltiples tamaños y lazy loading. Las fuentes, estilos y scripts se optimizan automáticamente con scope CSS por componente y eliminación de código no utilizado.
Ecosistema e integraciones
Astro tiene un catálogo creciente de integraciones oficiales y de comunidad: Tailwind CSS, MDX, Sitemap, RSS, React, Vue, Svelte, Partytown (para scripts de terceros), y adaptadores de deploy para Node.js, Vercel, Netlify, Cloudflare y Deno.
La integración con UI frameworks es una ventaja diferencial: puedes usar componentes React para un widget interactivo, Vue para otro, y Svelte para un tercero, todo en la misma página Astro. Cada framework solo se carga donde se usa, sin penalizar el rendimiento global.
- Adaptadores: Node.js, Vercel, Netlify, Cloudflare, Deno
- UI frameworks: React, Vue, Svelte, Preact, Solid, Lit
- Utilidades: Tailwind CSS, MDX, Sitemap, RSS, Partytown
- CMS: integraciones con Contentful, Strapi, Sanity, WordPress, Storyblok
¿Cuándo elegir Astro?
Astro es la opción óptima para sitios donde el contenido es el protagonista: blogs, documentación, webs corporativas, portfolios, landing pages y sitios de marketing. También funciona bien para ecommerce con catálogos medianos donde el rendimiento es crítico.
No es la mejor opción para aplicaciones web altamente interactivas (dashboards, editores, herramientas colaborativas) donde la mayor parte de la interfaz requiere hidratación. Para esos casos, Next.js o Remix ofrecen un modelo de renderizado más adecuado al volumen de interactividad.
- Ideal: blogs, docs, webs corporativas, marketing, ecommerce de contenido
- Adecuado: ecommerce con catálogos medianos, portfolios interactivos
- Menos adecuado: dashboards, apps SaaS, editores, herramientas colaborativas
Puntos clave
- Astro envía cero JavaScript por defecto y solo hidrata los componentes que lo necesitan
- La arquitectura de islas combina rendimiento estático con interactividad selectiva
- Content Collections con Zod ofrecen gestión de contenido tipada y validada
- SSG, SSR e híbrido en el mismo proyecto sin configuración compleja
- Ideal para sitios de contenido; menos adecuado para aplicaciones altamente interactivas
¿Astro es el framework adecuado para tu proyecto?
Te ayudamos a evaluar si Astro encaja con tus requisitos y a construir un sitio rápido, optimizado y fácil de mantener.