Volver al blog
Astro: El Framework Web que Envía Menos JavaScript

Astro: El Framework Web que Envía Menos JavaScript

Most web pages don’t need JavaScript at all. They need HTML. Astro was built around this observation: render everything to static HTML by default, ship zero JS to the client, and only hydrate interactive components when the user actually needs them.

La mayoría de las páginas web no necesitan JavaScript en absoluto. Necesitan HTML. Astro se construyó alrededor de esta observación: renderiza todo a HTML estático por defecto, envía cero JS al cliente, y solo hidrata componentes interactivos cuando el usuario realmente los necesita.

The architecture is called islands. In a traditional React or Vue app, the entire page becomes a JavaScript application — every component ships JS, every component hydrates, every component runs on the client. Astro inverts this: your page is a collection of static HTML islands. A React component here, a Svelte widget there, mostly just HTML and CSS. Only the interactive components hydrate, and only when they enter the viewport.

La arquitectura se llama islas. En una aplicación React o Vue tradicional, toda la página se convierte en una aplicación JavaScript — cada componente envía JS, cada componente se hidrata, cada componente se ejecuta en el cliente. Astro invierte esto: tu página es una colección de islas HTML estáticas. Un componente React aquí, un widget Svelte allá, mayormente solo HTML y CSS. Solo los componentes interactivos se hidratan, y solo cuando entran al viewport.

Content Collections are Astro’s killer feature for blog-heavy sites. Define a schema with Zod validation, write content in Markdown or MDX, and get type-safe data access throughout your templates. No CMS needed — the file system is your database. This site (octagono.org) runs entirely on Astro content collections: blog posts as Markdown, image optimization at build time, RSS generation, and sitemap output — all from a zero-config static build that compiles in under two seconds.

Las Content Collections son la killer feature de Astro para sitios con mucho contenido. Define un schema con validación Zod, escribe contenido en Markdown o MDX, y obtiene acceso type-safe a los datos en todas tus plantillas. No necesitas CMS — el sistema de archivos es tu base de datos. Este sitio (octagono.org) corre enteramente sobre content collections de Astro: posts de blog como Markdown, optimización de imágenes en tiempo de compilación, generación de RSS y sitemap — todo desde un build estático zero-config que compila en menos de dos segundos.

View Transitions make Astro feel like a single-page app without the framework tax. Navigation between pages doesn’t trigger a full reload — it morphs the DOM in-place, persists state across navigations, and animates elements with transition:persist and transition:animate. The <ClientRouter /> component handles all of this in about 10KB of JavaScript. Compare that to a React SPA bundle.

Las View Transitions hacen que Astro se sienta como una SPA sin el overhead del framework. La navegación entre páginas no dispara una recarga completa — morfea el DOM in-place, persiste estado entre navegaciones y anima elementos con transition:persist y transition:animate. El componente <ClientRouter /> maneja todo esto en unos 10KB de JavaScript. Compara eso con un bundle de React SPA.

The build output is a folder of static HTML files. No server runtime, no Node process, no edge functions — unless you want them. Astro supports hybrid rendering: most pages static, a few server-rendered, some with on-demand ISR. The adapter system lets you deploy to Cloudflare, Vercel, Netlify, or plain nginx with the same codebase. This site deploys as a tarball to a VPS with Apache serving static files directly.

El output del build es una carpeta de archivos HTML estáticos. No runtime de servidor, no proceso de Node, no edge functions — a menos que los quieras. Astro soporta renderizado híbrido: la mayoría de páginas estáticas, algunas server-rendered, otras con ISR bajo demanda. El sistema de adapter te permite deployar a Cloudflare, Vercel, Netlify o plain nginx con el mismo codebase. Este sitio se deploya como un tarball a un VPS con Apache sirviendo archivos estáticos directamente.

Why Astro for developer sites and blogs? Because the content is the product. Every millisecond of load time, every unnecessary byte of JavaScript, every layout shift — it all detracts from what the reader came for. Astro gets out of the way. It renders your Markdown, optimizes your images, generates your feeds, and produces a static site that scores 100/100 on Lighthouse performance. No polyfills, no hydration overhead, no framework tax. Just HTML.

¿Por qué Astro para sitios de desarrolladores y blogs? Porque el contenido es el producto. Cada milisegundo de tiempo de carga, cada byte innecesario de JavaScript, cada layout shift — todo distrae de lo que el lector vino a buscar. Astro se quita del medio. Renderiza tu Markdown, optimiza tus imágenes, genera tus feeds y produce un sitio estático que puntúa 100/100 en Lighthouse performance. Sin polyfills, sin overhead de hidratación, sin impuesto de framework. Solo HTML.


References

Referencias

Compartir