Introducción a Astro
1. ¿Qué es Astro? #
Astro es un framework moderno para construir sitios web rápidos, simples y fáciles de mantener.
Su lema es:
🪶 “Menos JavaScript, más velocidad.”
Astro genera HTML estático optimizado, pero también permite agregar partes interactivas con JavaScript (por ejemplo, un botón o un contador).
Esto hace que tus webs carguen rapidísimo, incluso en móviles lentos.
2. Ventajas frente a otros frameworks #
| Característica | Astro | Otros (React, Vue, etc.) |
|---|---|---|
| Renderizado | HTML estático por defecto; también SSR | Depende del framework y su configuración |
| JavaScript | Islas hidratadas donde se necesitan | Depende del renderizado y la división del código |
| Curva de aprendizaje | Muy suave | A veces empinada |
| SEO | HTML renderizado disponible para buscadores | También puede ofrecer HTML mediante SSG/SSR |
| Integración | Puede usar React, Vue, Svelte, etc. | Solo su propio sistema |
En resumen: Astro es ideal para blogs, portfolios, webs de cursos, documentación o landing pages, y puede crecer hasta sitios grandes.
3. Cómo funciona Astro internamente #
Astro combina lo mejor de varios mundos:
-
En desarrollo:
Tú trabajas con archivos.astro,.js,.css,.md, etc. -
En compilación:
Astro genera HTML estático (sin necesidad de servidor). -
En producción:
El navegador solo descarga el HTML y un mínimo de JavaScript (solo si lo necesitas).
Esto se llama Island Architecture (arquitectura de islas):
- El HTML estático es el continente.
- Los componentes interactivos (botones, contadores, etc.) son las islas.
4. Requisitos previos #
Necesitarás:
-
Node.js 24 actualizado. Astro 7.4.2 requiere Node 22.23.4 o superior, sin versiones impares; utilizaremos Node 24 en desarrollo y despliegue.
👉 Puedes comprobarlo con:1node -v -
Conocimientos básicos de HTML, CSS y JS.
-
Un editor como VS Code.
5. Instalación y primer proyecto #
Paso 1. Crear el proyecto #
Abre tu terminal y escribe:
1npm create astro@latest
Luego responde:
- Project name:
mi-primer-astro - Template: elige
BlogoMinimal - Elige la plantilla Minimal para seguir los ejemplos desde cero. Astro incluye soporte TypeScript; no necesitas dominarlo para escribir HTML y JavaScript.
- Install dependencies:
Yes
Esto creará la carpeta y descargará todo lo necesario. Las opciones del asistente pueden variar según su versión.
Este curso utiliza Astro 7.4.2. Después de entrar en la carpeta, comprueba la versión con npx astro --version. Para reproducir los ejemplos con esa versión ejecuta npm install --save-exact astro@7.4.2 y conserva package-lock.json en Git. Para actualizar un proyecto existente y sus integraciones oficiales se utiliza npx @astrojs/upgrade. Versiones y actualización.
Paso 2. Entrar al proyecto #
1cd mi-primer-astro
Paso 3. Iniciar el servidor #
1npm run dev
Abre tu navegador en 👉 http://localhost:4321
y verás tu primera página Astro funcionando 🎉
Paso 4. Estructura inicial #
La estructura base se ve así:
mi-primer-astro/
├── public/
├── src/
│ ├── pages/
│ └── components/
├── astro.config.mjs
├── package.json
└── README.md
Te explicaré cada carpeta en el Módulo 2.
Resumen del tema
Conceptos clave #
- Filosofía Zero JS por defecto: Astro compila a HTML estático puro eliminando JavaScript innecesario del cliente para maximizar rendimiento y SEO.
- Arquitectura de Islas (
Islands Architecture): modelo en el que el contenido estático envuelve componentes dinámicos aislados (islas) que se hidratan solo cuando es necesario. - Framework agnóstico: capacidad de utilizar componentes de React, Vue, Svelte o Solid dentro del mismo proyecto sin cargar sus runtimes globalmente.
- Inicialización y desarrollo: creación rápida con
npm create astro@latesty servidor local de alta velocidad en el puerto por defecto4321. - Casos de uso ideales: blogs, sitios de documentación, portfolios, sitios de comercio electrónico y páginas con alto enfoque en contenido y velocidad de carga.
Qué debes recordar #
Astro prioriza la entrega de HTML estático y delega JavaScript exclusivamente a islas interactivas independientes, logrando tiempos de carga inmediatos y excelente SEO.