Skip to content

01. Introducción a Astro

1.1 Qué es Astro y por qué es revolucionario

Section titled “1.1 Qué es Astro y por qué es revolucionario”

Astro es un framework web moderno diseñado para construir sitios web orientados al contenido que sean rápidos por defecto. Desarrollado con una filosofía de “menos JavaScript, más rendimiento”, Astro representa un cambio de paradigma en el desarrollo web contemporáneo.

  • Crear sitios web extremadamente rápidos con mínimo JavaScript
  • Optimizar la entrega de contenido estático
  • Permitir interactividad selectiva donde sea necesaria
  • Mejorar métricas de rendimiento (Core Web Vitals)
  • Facilitar el desarrollo con herramientas modernas

Principio “Zero JS por Defecto”

  • Astro genera HTML estático puro durante el build
  • No envía JavaScript al navegador a menos que sea explícitamente necesario
  • Los componentes se renderizan en el servidor
  • Solo se hidrata JavaScript cuando se especifica

Proceso de Construcción

  1. Build Time: Astro procesa componentes y genera HTML estático
  2. Optimización: Minimiza CSS, optimiza imágenes, divide código
  3. Hidratación Selectiva: Solo componentes marcados reciben JavaScript
  4. Output: HTML, CSS y JavaScript mínimo optimizado

1. Arquitectura de Islas

  • Componentes interactivos aislados en un océano de HTML estático
  • Cada “isla” carga su JavaScript independientemente
  • Reduce drásticamente el JavaScript total

2. Multi-Framework

  • Soporta React, Vue, Svelte, Solid, Preact, Lit
  • Usa diferentes frameworks en el mismo proyecto
  • Reutiliza componentes existentes

3. Optimización Automática

  • Optimización de imágenes integrada
  • Code splitting automático
  • CSS scoping y minificación
  • Prefetching inteligente

4. Sintaxis Intuitiva

  • Similar a JSX pero más simple
  • Frontmatter para lógica del servidor
  • Componentes con extensión .astro
AspectoAstroNext.jsGatsbySvelteKit
JS por defecto0 KB~80 KB~50 KB~20 KB
Multi-framework
SSG nativo
Hidratación parcial

1.2 Arquitectura de islas e hibridación con otros frameworks

Section titled “1.2 Arquitectura de islas e hibridación con otros frameworks”

La Arquitectura de Islas permite crear páginas con “islas” de interactividad en un océano de HTML estático.

  • Océano: HTML estático (la mayoría del contenido)
  • Islas: Componentes interactivos con JavaScript
  • Aislamiento: Cada isla es independiente
  • Rendimiento: Solo se carga JS donde se necesita
DirectivaCuándo se HidrataUso Recomendado
client:loadInmediatamenteComponentes críticos
client:idleCuando está inactivoComponentes secundarios
client:visibleCuando es visibleBelow-the-fold
client:mediaMedia query coincideResponsive
client:onlySolo clienteAPIs del navegador

Astro permite usar múltiples frameworks en la misma página:

  • React para componentes complejos
  • Vue para formularios reactivos
  • Svelte para widgets ligeros
  • Cada uno carga solo su JavaScript

1.3 Instalación del entorno y creación del primer proyecto

Section titled “1.3 Instalación del entorno y creación del primer proyecto”

Node.js: Versión 18.14.1 o superior

  • Proporciona el entorno de ejecución
  • Incluye npm (gestor de paquetes)
  • Descarga desde nodejs.org

Editor de Código: Recomendado

  • VS Code con extensión Astro
  • WebStorm
  • Cualquier editor moderno
  1. CLI Interactivo: Asistente paso a paso
  2. Configuración: Selección de plantilla
  3. Dependencias: Instalación automática
  4. Git: Inicialización opcional
🐝