Astro: La simplicidad como bandera en el desarrollo web

Astro es un framework de JavaScript optimizado para construir sitios web rápidos y centrados en el contenido, como blogs, páginas de marketing y sitios de comercio electrónico. Lanzado en 2021, Astro ha evolucionado rápidamente, alcanzando su versión 5.1 en diciembre de 2024.

Si bien no vengo a convencerte de usar Astro, sí vengo a contarte algunas cosas que te serán útiles saber, principalmente porque su crecimiento parece ser constante y su porcentaje de retención está dando de qué hablar. No lo digo yo, lo dicen los resultados del State of JS 2024 para los meta-frameworks de JavaScript con mayor retención, resultados que provienen de la votación de la comunidad de JavaScript.

Astro gráfico de retención

Ventajas de Astro para el desarrollo web

  • Rendimiento optimizado: Astro mejora el rendimiento al renderizar componentes en el servidor, enviando HTML ligero al navegador sin JavaScript innecesario. Literalmente, el volumen de JavaScript tiende a 0 (cero).
  • Arquitectura de islas: Esta técnica permite que solo las partes interactivas de la página carguen JavaScript, manteniendo el resto como HTML estático, lo que reduce la carga en el navegador y mejora la velocidad. El mismo principio del SSR de Next.js, pero, a mi parecer, pensado para ser utilizado de forma más simple.
  • Flexibilidad: Astro es compatible con frameworks populares como React, Vue, Svelte y otros, permitiendo a los desarrolladores utilizar componentes existentes sin estar atados a un ecosistema específico. Si bien me recuerda a IONIC+Capacitor y su estrategia de ser transversal al framework de JavaScript que uses (lo que, a mi parecer, le quitó identidad al framework), volviendo a Astro, considero que ha facilitado su adopción. Yo mismo he desarrollado componentes React solo porque, en el apuro de avanzar con algún requerimiento, solo imaginé la solución utilizando esta alternativa.
  • Enfoque en contenido: Diseñado para trabajar con contenido de diversas fuentes, Astro facilita la integración con sistemas de gestión de contenido (CMS), APIs externas o archivos locales. Y si me permiten agregar un poco de mi experiencia, su integración con Markdown y MDX definitivamente es un big win.

Razones del uso limitado de Astro en entornos productivos

  • Madurez del framework: Aunque Astro ha avanzado significativamente desde su lanzamiento, algunos desarrolladores pueden percibirlo como menos maduro en comparación con otras alternativas más establecidas, lo que genera cautela al adoptarlo en proyectos a gran escala.
    Tampoco lo veo hoy en día como una alternativa a soluciones empresariales, pero es sin duda la mejor opción para dejar de subutilizar otras tecnologías y centrarte en lo que importa: “agregar valor al cliente y al producto”. Astro llegó a ocupar un nicho que estaba siendo desatendido dentro del desarrollo web, aunque mi apuesta personal es que después de dominar ese nicho, irá a más.
  • Comunidad y recursos: La comunidad de Astro, aunque en crecimiento, es más pequeña que la de otros frameworks. Esto puede traducirse en una menor disponibilidad de recursos, tutoriales y soluciones a problemas específicos. Aunque en mi experiencia, esto no impide en absoluto crear hoy en día buenas páginas web. Al final, todo se traduce en HTML, CSS y JavaScript.
  • Limitaciones en aplicaciones altamente dinámicas: Astro está optimizado para sitios centrados en contenido. Para aplicaciones web con interactividad compleja o que requieren actualizaciones en tiempo real, otros frameworks pueden ser más adecuados.
  • Inercia tecnológica: Muchas empresas ya han invertido en otras tecnologías y pueden ser reacias a cambiar su stack tecnológico, especialmente si las soluciones actuales satisfacen sus necesidades.
Astro Build

La simplicidad como tendencia

Astro inició en el nicho de desarrollo web para páginas que, por naturaleza, son más estáticas que dinámicas. Abordar el desarrollo desde las páginas web estáticas y/o landing pages fue una carta de presentación diferente para los desarrolladores web. Habitualmente, las páginas estáticas o de bajo mantenimiento se desarrollaban con frameworks o herramientas que resultaban innecesariamente pesados para las necesidades reales, afectando incluso parámetros altamente demandados para este tipo de proyectos, como el rendimiento y el SEO. Con el tiempo, la simplicidad de la web fue desplazada por una obsesión del uso de los frameworks de JavaScript. Sin embargo, Astro reintrodujo de forma astuta lo básico como una tendencia nuevamente: solo HTML, CSS y JavaScript.

Conclusión

La adopción de Astro en la industria parece ser solo cuestión de tiempo. Como ocurre con todas las tecnologías emergentes, es necesario esperar algunos años (quizás menos de lo que pensamos) para que su adopción masiva sea una realidad. Mientras tanto, Astro se posiciona como un framework al que se puede apostar, especialmente en proyectos donde la simplicidad y el rendimiento son prioridades. Su foco es conciso: prioriza la simplicidad de la web, y con esta filosofía, seguramente conquistará a más desarrolladores y empresas en los próximos años.

Y tú, ¿Qué opinas?