¿Buscas nuestro logo?
Aquí te dejamos una copia, pero si necesitas más opciones o quieres conocer más, visita nuestra área de marca.
Conoce nuestra marca.¿Buscas nuestro logo?
Aquí te dejamos una copia, pero si necesitas más opciones o quieres conocer más, visita nuestra área de marca.
Conoce nuestra marca.dev
Jaime Fernández Moreno 18/09/2024 Cargando comentarios…
Astro es un moderno generador de sitios estáticos diseñado para mejorar el rendimiento y la experiencia de desarrollo.
En este artículo vamos a hablar de las principales características de Astro, repasando sus fortalezas y debilidades. Además, pondremos algún ejemplo práctico de web construida utilizando esta herramienta y explicaremos cómo crear un proyecto desde cero.
Sus creadores lo definen como el framework para construir sitios web orientados al contenido como blogs, marketing y comercio electrónico. Independientemente de que la terminología correcta pueda ser framework o generador de sitios, está claro que esta herramienta surgida en 2021 va a destacar mucho en el mundo frontend en un futuro próximo. Si te dedicas al desarrollo web, no hay duda de que debería interesarte conocer un poco más sobre él, ya que otro de sus objetivos principales es potenciar la “developer experience”.
Astro está enfocado en la optimización del rendimiento y en reducir al mínimo el JavaScript en el frontend.
Para entender un poco mejor en qué lugar del mercado se encuentra Astro, podríamos compararlo con frameworks como Gatsby, Next.js y Jekyll en cuanto al tipo de aplicaciones en las que lo podemos utilizar. Aun así, el enfoque de Astro resulta muy innovador respecto a estos generadores “tradicionales”.
Algunas de las características que hacen a Astro tan atractivo son las siguientes:
Los principales inconvenientes que pueden surgir a la hora de utilizar Astro:
Astro está especialmente pensado para realizar proyectos de sitios estáticos sin demasiada interacción, es un generador muy orientado al contenido. Por eso será ideal para crear sitios web de documentación, blogs y portafolios personales e, incluso, algún e-commerce simple (que no necesite funcionalidades backend muy complejas).
A pesar de su corta vida, son muchas las empresas que han confiado en Astro para sus desarrollos. Podemos encontrarlo presente en gran cantidad de webs, por ejemplo:
Iniciar un proyecto con Astro se hace muy sencillo gracias a las potentes herramientas de CLI con las que cuenta.
Como requisitos necesitamos dos elementos:
npm create astro@latest
A partir de aquí nos hará una serie de preguntas sobre la ubicación, el template que queremos utilizar para empezar (yo he seleccionado blog), si queremos utilizar Typescript, si queremos instalar dependencias automáticamente y, por último, si deseamos inicializar un repositorio de Git.
Durante la experiencia desarrollando con Astro vamos a poder comprobar que sus herramientas de CLI son una gran ayuda en muchos casos y facilitan mucho ciertas tareas.
En este punto, si ejecutamos npm run dev podremos acceder a localhost:4321 (muy graciosa la broma de la secuencia de lanzamiento para el puerto) y veremos la siguiente web:
Con la ejecución del comando de creación del proyecto se genera una estructura de carpetas y ficheros de configuración, donde destacan los siguientes:
Vamos a probar un ejemplo de las opciones que nos proporcionan las herramientas de CLI de Astro. Si queremos, por ejemplo, añadir Tailwind a nuestro proyecto, bastará con que ejecutemos el comando:
npx astro add tailwind
Una vez terminado, Astro habrá añadido la integración @astrojs/tailwind, la propia biblioteca TailwindCSS y las configuraciones necesarias para que podamos utilizarla directamente.
En este punto vamos a hacer una demostración sobre cómo se editaría la página y, además, vamos a comprobar si los estilos de Tailwind están funcionando correctamente. Para ello, nos vamos al fichero src/pages/index.astro y, en el h1 que contiene el texto “Hello astronaut”, vamos a añadir la siguiente clase:
class="text-red-700
Hemos comprobado las enormes ventajas que nos proporciona Astro en el desarrollo de sitios web. Está claro que, a la hora de elegir Astro para un proyecto, hay que tener en cuenta el uso que va a tener nuestra web en un futuro, ya que esto será determinante a la hora de decidir si es la herramienta más adecuada.
No olvidemos que, para proyectos que requieran mucha interactividad y comunicación constante con un backend, Astro puede no ser la herramienta más adecuada. Sin embargo, en webs más sencillas y más orientadas al contenido, Astro nos puede aportar una gran facilidad y agilidad en el desarrollo.
Os animo a explorar su documentación oficial para que podáis descubrir muchas otras utilidades y funcionalidades (Markdown, Server y client side rendering, web components, etc.) que no cabían en este post.
Cursos introductorios:
Los comentarios serán moderados. Serán visibles si aportan un argumento constructivo. Si no estás de acuerdo con algún punto, por favor, muestra tus opiniones de manera educada.
Cuéntanos qué te parece.