Volver al inicio
Lección 1: Introducción a Astro

¿Qué es Astro?

Descubre el framework moderno que está revolucionando el desarrollo web con sitios ultra-rápidos y menos JavaScript.

1. ¿Qué es Astro?

Astro es un framework web moderno diseñado para construir sitios web ultra-rápidos centrados en el contenido.

A diferencia de otros frameworks, Astro está optimizado para enviar menos JavaScript al navegador, lo que resulta en páginas que cargan más rápido y ofrecen mejor experiencia al usuario.

Ultra-ligero

Envía 0 KB de JavaScript por defecto

Extremadamente rápido

Páginas que cargan hasta 90% más rápido

Flexible

Usa React, Vue, Svelte o solo HTML/CSS

2. La Filosofía de Astro

Zero JavaScript por Defecto

Astro genera HTML estático sin JavaScript por defecto. Solo añade JavaScript cuando realmente lo necesitas.

Resultado: Sitios que cargan instantáneamente, mejor SEO y experiencia de usuario superior.

Islands Architecture (Arquitectura de Islas)

En Astro, puedes tener componentes interactivos (islas) rodeados de HTML estático.

Visualización de Islands:

HTML estático (Header)
🏝️ Isla Interactiva (Buscador con React)
HTML estático (Contenido)
🏝️ Isla Interactiva (Carrusel con Vue)
HTML estático (Footer)

Ventaja: Solo las "islas" cargan JavaScript, el resto es HTML puro y ultra-rápido.

Centrado en el Contenido

Astro está optimizado para sitios con mucho contenido: blogs, portfolios, documentación, landing pages, sitios corporativos, e-commerce, etc.

2.5. ¿Y si quiero una web completamente dinámica?

¡Sí puedes! Astro puede hacer webs 100% dinámicas usando AJAX/fetch en las Islands. No estás limitado a contenido estático.

Puedes combinar lo mejor de ambos mundos: páginas estáticas rápidas + componentes que obtienen datos dinámicos con fetch/AJAX.

Ventajas vs React/Next/Vue/Nuxt

  • ✓ Menos JavaScript inicial: Solo cargas JS para los componentes dinámicos, no todo el framework
  • ✓ Carga inicial más rápida: HTML estático se muestra instantáneamente, datos dinámicos cargan después
  • ✓ Mejor SEO: El HTML base siempre está disponible para los motores de búsqueda
  • ✓ Progressive Enhancement: La página funciona sin JS, mejora con JS
  • ✓ Usa cualquier framework: Fetch con React, Vue, Svelte... tú eliges

Inconvenientes vs React/Next/Vue/Nuxt

  • ✗ Menos ecosistema para SPAs: Si tu app ES un dashboard complejo, Next/Nuxt tienen más herramientas
  • ✗ Sin routing del lado del cliente: Cambios de página recargan el navegador (aunque puedes usar View Transitions)
  • ✗ Curva de aprendizaje diferente: Debes entender cuándo usar Islands vs páginas completas
  • ✗ Estado global más complejo: Compartir estado entre islas requiere más trabajo que en SPAs

Ejemplo: E-commerce con Astro

Enfoque híbrido (Recomendado):

  • • Página de producto: HTML estático generado en build (SEO perfecto, carga instantánea)
  • • Carrito de compras: Isla con React que hace fetch al backend (100% dinámico)
  • • Buscador: Isla con Vue que consulta API en tiempo real (dinámico)
  • • Stock en tiempo real: Isla que hace polling cada X segundos (dinámico)

Balance perfecto: Lo que no cambia es estático (rápido), lo que cambia es dinámico (Islands con AJAX).

3. Ventajas de Usar Astro

1. Rendimiento Excepcional

Astro genera sitios estáticos con 0 KB de JavaScript por defecto. Las páginas cargan casi instantáneamente.

2. Flexibilidad Total

Puedes usar React, Vue, Svelte, Solid, Preact o cualquier framework UI que prefieras. ¡Incluso puedes mezclarlos en el mismo proyecto!

3. Fácil de Aprender

Sintaxis similar a HTML, JSX y Markdown. Si sabes JavaScript y HTML, ya sabes Astro.

4. Excelente SEO

Al generar HTML estático, los motores de búsqueda pueden indexar tu contenido fácilmente sin ejecutar JavaScript.

5. Developer Experience (DX)

Hot Module Replacement (HMR) ultra-rápido, errores claros, TypeScript integrado, y una CLI intuitiva.

6. Ecosistema Rico

Integraciones oficiales con Tailwind, Markdown, MDX, sitemap, RSS, y más de 100+ integraciones de la comunidad.

4. ¿Para qué proyectos usar Astro?

Ideal para:

  • • Blogs y sitios de contenido
  • • Landing pages y sitios marketing
  • • Portfolios personales
  • • Sitios de documentación
  • • E-commerce (con productos estáticos)
  • • Sitios corporativos

No tan ideal para:

  • • Dashboards complejos con mucha interactividad
  • • Aplicaciones SPA puras (mejor Next.js o SvelteKit)
  • • Apps en tiempo real tipo chat (aunque se puede hacer)

Nota: Astro puede hacer estas cosas, pero otros frameworks pueden ser más adecuados.

5. Astro vs Otros Frameworks

Framework JavaScript Enviado Mejor para
Astro ~0 KB (solo islas) Sitios de contenido, blogs, landing pages
Next.js ~90 KB (todo React) Aplicaciones web complejas, dashboards
Gatsby ~85 KB (todo React) Sitios estáticos con React
Nuxt ~80 KB (todo Vue) Aplicaciones Vue complejas
SvelteKit ~30 KB (todo Svelte) Balance entre rendimiento y DX

💡 Nota: Los valores son aproximados para sitios simples. Astro destaca por enviar JavaScript solo donde lo necesites, mientras otros frameworks envían todo el runtime.

Resumen

✓ Astro es un framework moderno para sitios web ultra-rápidos
✓ Zero JavaScript por defecto - páginas que cargan instantáneamente
✓ Islands Architecture - interactividad solo donde la necesites
✓ Usa cualquier framework UI (React, Vue, Svelte, etc.)
✓ Ideal para blogs, landing pages, portfolios y sitios de contenido
✓ Fácil de aprender si ya sabes JavaScript y HTML
Volver al temario Siguiente: Estructura del Proyecto