Skip to content
Español
Volver al directorio

astro.build

200 OK

Cómo Astro convierte el contenido en HTML y añade interacción de forma selectiva

Developer ToolsTailwind CSS
Respuesta directa

Astro es una opción sólida para sitios web basados en contenido que deben entregar HTML útil antes de que se ejecute JavaScript en el navegador. Su característica distintiva es la hidratación selectiva: los equipos pueden mantener estática la mayor parte de una página mientras activan componentes individuales, aunque las aplicaciones muy interactivas pueden beneficiarse menos de ese límite.

Última prueba:

Conceptos principales

  • Entrega centrada en HTML: Astro renderiza el contenido de las páginas como HTML y no envía JavaScript del lado del cliente de forma predeterminada.

  • Hidratación selectiva: Solo los componentes marcados explícitamente para hidratarse en el navegador reciben el JavaScript necesario para la interacción.

  • Islas independientes: Los componentes interactivos se hidratan por separado y pueden utilizar prioridades de carga adaptadas al momento en que los visitantes los necesitan.

  • Múltiples enfoques de interfaz: Astro es compatible con React, Preact, Svelte, Vue, Solid, HTMX, componentes web y otros enfoques.

  • Colecciones de contenido tipadas: Las colecciones de contenido organizan y validan contenido Markdown con seguridad de tipos de TypeScript.

  • Adecuado para contenido: Astro está especialmente alineado con sitios donde leer y navegar por el contenido son las actividades predominantes de los usuarios.

Compare the subject with other published sites in the same category.

All alternatives

Cómo Astro convierte el contenido en HTML y añade interacción de forma selectiva

¿Qué es Astro?

Astro es un framework web de código abierto para crear sitios web basados en contenido. Renderiza el contenido de las páginas como HTML y, de forma predeterminada, no envía JavaScript al cliente, aunque permite a los desarrolladores añadir componentes hidratados de manera independiente donde sea necesaria la interacción en el navegador.

Este enfoque es adecuado para blogs, documentación, sitios de marketing, portafolios, páginas de destino, sitios de comunidades y experiencias de comercio electrónico centradas en el contenido. Astro puede incorporar varios frameworks de interfaz conocidos sin exigir que toda la página se convierta en una aplicación renderizada en el cliente.

Resumen rápido

  • Propósito principal: Crear sitios web basados en contenido en torno a HTML renderizado en el servidor.
  • Coste predeterminado en el navegador: Sin JavaScript del lado del cliente, salvo que el proyecto lo añada explícitamente.
  • Arquitectura central: Los componentes interactivos se convierten en islas aisladas dentro de páginas que, por lo demás, son estáticas.
  • Enfoques de interfaz compatibles: React, Preact, Svelte, Vue, Solid, HTMX, componentes web y otros.
  • Herramientas de contenido: Las colecciones de contenido organizan y validan Markdown con seguridad de tipos de TypeScript.
  • Caso de uso ideal: Sitios donde leer y navegar por el contenido importa más que mantener un estado continuo en el navegador.
  • Principal desventaja: Los equipos deben decidir qué componentes necesitan JavaScript y cuándo deben cargarse.

¿Qué problema intenta resolver Astro?

Los sitios web de contenido suelen utilizar arquitecturas frontend orientadas a aplicaciones, incluso cuando sus páginas contienen principalmente encabezados, artículos, explicaciones de productos, imágenes y enlaces. Esto puede enviar JavaScript para un amplio árbol de componentes, aunque gran parte de la página no necesite ejecutarse en el navegador.

Astro parte de una premisa orientada al servidor: el contenido se convierte en HTML y la ejecución en el navegador se añade únicamente donde la interacción la requiere. Por tanto, el modelo de entrega puede seguir el comportamiento real de la página en lugar de tratar cada elemento como parte de una única aplicación interactiva.

La documentación oficial describe Astro como un framework basado en contenido, orientado al servidor, rápido de forma predeterminada, fácil de usar y centrado en los desarrolladores. Estos son objetivos de diseño, no garantías, porque las imágenes, los scripts de terceros, el código de los componentes y las decisiones de implementación siguen afectando al sitio terminado.

Lo que Astro organiza para un proyecto de contenido

  • Páginas cuyo valor principal es HTML legible.
  • Diseños y componentes reutilizables alrededor de ese contenido.
  • Contenido Markdown organizado mediante colecciones.
  • Validación y esquemas compatibles con TypeScript para las entradas de las colecciones.
  • Componentes interactivos opcionales que utilizan frameworks de interfaz compatibles.
  • Integraciones añadidas según las necesidades de contenido y entrega.

¿Cómo renderiza Astro una página?

Astro separa el contenido estático de la página de los componentes interactivos del navegador. El servidor genera HTML, mientras que los componentes marcados para hidratación reciben JavaScript y se vuelven interactivos según una directiva seleccionada por el desarrollador.

Esto se diferencia tanto de convertir toda la página en un único árbol de componentes del lado del cliente como de publicar un documento completamente estático que no puede añadir comportamiento en el navegador. Astro ocupa el punto intermedio al asignar la interacción a partes específicas de una página.

Comparación de arquitectura y renderizado

Región de la página o enfoque Resultado inicial JavaScript en el navegador Límite de interacción Implicación práctica
Contenido estático de Astro HTML renderizado en el servidor Ninguno de forma predeterminada Sin componente hidratado El texto, los enlaces y otros contenidos estáticos siguen siendo útiles sin un runtime de componentes.
Isla interactiva de Astro HTML más un componente hidratado explícitamente Se carga para ese componente La isla individual Un menú o control de búsqueda puede volverse interactivo sin hidratar el artículo que lo rodea.
Varias islas de Astro HTML más componentes hidratados por separado Se carga según las necesidades de cada isla Cada isla se hidrata de forma independiente Los equipos pueden priorizar las interacciones importantes y aplazar los componentes que no se necesitan de inmediato.
Aplicación de cliente para toda la página Shell o HTML específico de la aplicación Suele admitir un amplio árbol de componentes del cliente Gran parte de la página comparte ejecución en el navegador Esto puede ser adecuado para una interacción continua, pero podría aplicar un modelo de aplicación a contenido que no lo necesita.

Estos límites no garantizan un resultado de rendimiento concreto. Una isla grande todavía puede enviar una cantidad considerable de código, mientras que los archivos multimedia pesados y los scripts no relacionados pueden ralentizar la página; Astro proporciona un valor predeterminado con poco JavaScript, pero la experiencia final sigue siendo responsabilidad del equipo.

¿Qué es una isla de Astro?

Una isla es un componente de interfaz interactivo dentro de una página que, por lo demás, es estática. Los encabezados, párrafos, enlaces y demás material no interactivo que la rodean permanecen como HTML, mientras que la isla recibe el código de navegador necesario para su comportamiento.

Las islas se hidratan de forma independiente, por lo que activar un componente no exige que todos los demás componentes interactivos se activen con él. Los frameworks de componentes compatibles pueden coexistir, aunque utilizar varios puede aumentar la duplicación del runtime y las exigencias de mantenimiento.

¿Cuándo puede hidratarse una isla?

  • client:load: Prioriza el componente cuando se carga la página.
  • client:idle: Aplaza la hidratación hasta que el navegador tenga tiempo de inactividad.
  • client:visible: Espera hasta que el componente se aproxima al viewport.

Estas directivas hacen que la prioridad de carga forme parte de la ubicación del componente. Un control que se necesita de inmediato puede gestionarse de manera diferente a un elemento interactivo situado más abajo en la página, y la elección debe responder a las necesidades del usuario en lugar de seguir una regla general.

Lo que las islas hacen y no garantizan

Las islas ayudan a un equipo a hacer esto Las islas no garantizan esto
Mantener el contenido estático como HTML Que todas las páginas terminadas sean rápidas
Añadir JavaScript únicamente a componentes seleccionados Que los componentes hidratados sean pequeños
Asignar distintas prioridades de carga a las islas Que los scripts de terceros sean eficientes
Utilizar frameworks de interfaz compatibles para regiones interactivas Que combinar frameworks no tenga costes de runtime ni de mantenimiento
Conservar una estructura de página centrada en el contenido Que las imágenes, las fuentes y otros recursos se optimicen automáticamente

La propiedad útil es el control. La hidratación permanece visible en el uso de los componentes, lo que permite a los desarrolladores revisar dónde entra JavaScript en la página y si cada dependencia justifica su coste.

¿Cómo gestiona Astro los frameworks de interfaz y el contenido?

Astro es compatible con React, Preact, Svelte, Vue, Solid, HTMX, componentes web y otros enfoques de interfaz. Un equipo puede utilizar un framework de componentes conocido para una isla mientras mantiene el documento circundante dentro del modelo de páginas renderizadas en el servidor de Astro.

Esta flexibilidad puede facilitar una adopción gradual o conservar una inversión existente en componentes, pero no significa que combinar todos los frameworks sea beneficioso. Un enfoque principal coherente suele ser más fácil de comprender, y cada runtime adicional debe resolver un problema específico.

Las colecciones de contenido complementan este modelo de renderizado al proporcionar a Markdown y al contenido relacionado una estructura organizada y validada con seguridad de tipos de TypeScript. Un proyecto editorial o de documentación puede tratar su contenido como un conjunto de datos coherente en lugar de como archivos sin relación entre sí.

Áreas mantenidas del ecosistema

El repositorio del framework identifica paquetes mantenidos oficialmente para varias necesidades:

  • Integraciones de interfaz para React, Preact, Solid, Svelte y Vue.
  • Compatibilidad con runtimes mediante la integración de Node y varios adaptadores de despliegue.
  • Herramientas de contenido y publicación, incluidas integraciones de MDX, RSS y mapas del sitio.
  • Integración relacionada con scripts mediante Partytown.

Los proyectos pueden comenzar con Astro y añadir integraciones cuando los requisitos las justifiquen. La documentación actual y la información sobre paquetes mantenidos deben orientar las decisiones de instalación, ya que la disponibilidad y la compatibilidad pueden cambiar.

¿Para quién es adecuado Astro?

Astro se ajusta mejor a proyectos donde el contenido debe estar disponible como HTML y la interacción ocupa regiones diferenciadas. Merece especialmente la pena evaluarlo cuando la actividad principal del usuario consiste en leer, navegar, comparar o descubrir información.

Un producto similar a una aplicación también puede contener páginas centradas en el contenido, pero su modelo de interacción predominante importa. Si la mayoría de las pantallas dependen de un estado compartido en el cliente y de actualizaciones continuas en el navegador, los límites de las islas pueden aportar menos valor o exigir más decisiones arquitectónicas.

Orientación sobre casos adecuados y no adecuados

Merece la pena considerar Astro cuando Evalúa cuidadosamente otros enfoques cuando
El proyecto es un blog, un sitio de documentación, un portafolio, una página de destino, un sitio de marketing, un sitio de comunidad o una experiencia comercial centrada en el contenido. La mayoría de las pantallas se comportan como una aplicación de navegador continuamente interactiva.
El contenido importante debe llegar como HTML sin esperar a un runtime del cliente. Casi todas las regiones de la página requieren hidratación y estado compartido en el navegador.
La interactividad puede dividirse en componentes claros. Resulta difícil separar la interacción en regiones independientes.
El equipo quiere reutilizar selectivamente componentes de interfaz compatibles. El equipo espera que combinar frameworks sea sencillo o no tenga coste.
La organización, la validación y la seguridad de tipos de Markdown son valiosas. El proyecto tiene poco contenido y no obtiene ningún beneficio significativo de las colecciones de contenido.

Esta orientación es un filtro arquitectónico, no un veredicto. La evaluación más sólida utiliza una página representativa que contenga contenido real y la interacción más exigente prevista en producción.

¿Cuáles son las principales ventajas y desventajas de Astro?

La principal ventaja y la carga de diseño de Astro proceden de la misma decisión: el JavaScript del navegador es selectivo. Los equipos obtienen control sobre la hidratación, pero deben definir límites razonables para los componentes y prioridades de carga.

Beneficios respaldados por la arquitectura

  • El contenido estático permanece como HTML renderizado en el servidor.
  • JavaScript es opcional para los componentes que necesitan comportamiento en el navegador.
  • Las islas pueden hidratarse de forma independiente.
  • La prioridad de carga puede reflejar cuándo resulta útil una interacción.
  • Los frameworks de interfaz compatibles pueden utilizarse sin controlar toda la página.
  • Las colecciones de contenido proporcionan organización, validación y seguridad de tipos de TypeScript.

Costes y decisiones que deben tenerse en cuenta

  • Los desarrolladores deben identificar qué componentes requieren realmente hidratación.
  • Las directivas mal elegidas pueden cargar código antes o después de que los usuarios lo necesiten.
  • Las islas grandes pueden reducir el beneficio de la hidratación selectiva.
  • Varios frameworks de interfaz pueden introducir código de runtime duplicado y mantenimiento adicional.
  • Los scripts de terceros y los archivos multimedia de gran tamaño siguen siendo problemas de rendimiento.
  • Los productos con mucha interacción deben determinar si las islas encajan con su modelo de estado.

Astro favorece una composición deliberada. Elimina el JavaScript automático del lado del cliente como punto de partida, pero no elimina la necesidad de revisar las dependencias, los recursos, la accesibilidad ni el comportamiento real de la página.

¿Cómo debería evaluar Astro un equipo?

Una evaluación útil debe reproducir los requisitos más difíciles del proyecto en cuanto a contenido e interacción. Una demostración mínima puede probar que Astro funciona, pero no puede mostrar si la arquitectura encaja con el flujo de trabajo editorial o el comportamiento real en el navegador.

Lista de comprobación para la evaluación

  1. Elige una página representativa. Utiliza encabezados, contenido principal, navegación, imágenes y enlaces reales en lugar de marcadores de posición.
  2. Identifica las regiones estáticas. Señala qué partes pueden permanecer como HTML sin un runtime de componentes en el navegador.
  3. Selecciona la interacción más difícil. Incluye el componente más exigente que sea razonable esperar.
  4. Define los límites de las islas. Determina si las regiones interactivas pueden hidratarse de forma independiente sin una coordinación de estado complicada.
  5. Asigna prioridades de hidratación. Comprueba si client:load, client:idle o client:visible coincide con el momento en que cada componente resulta útil.
  6. Revisa el uso de frameworks. Confirma que cada integración de interfaz resuelve una necesidad concreta y anota los costes de runtimes duplicados.
  7. Prueba el modelo de contenido. Crea una colección representativa y verifica que la validación y los tipos de TypeScript sean compatibles con el flujo editorial.
  8. Inspecciona el resultado entregado. Confirma que el contenido esencial esté presente como HTML e identifica el JavaScript añadido por los componentes hidratados.
  9. Aplica restricciones reales. Incluye los archivos multimedia, los scripts de terceros, la navegación y los requisitos de despliegue previstos.
  10. Compara la facilidad de mantenimiento. Pregunta si el límite entre contenido e interacción está claro para el equipo que gestiona el sitio.

La decisión debe basarse en ese prototipo. Los valores predeterminados documentados explican la intención de Astro, mientras que una implementación representativa revela si coinciden con las necesidades reales de contenido, interacción y mantenimiento del proyecto.

¿Cómo comenzó Astro y cómo se gobierna?

Astro se presentó públicamente en junio de 2021 mediante una publicación oficial de Fred Schott y Nate Moore. La fuente identifica a ambos como los autores que presentaron el proyecto y no permite atribuir a ninguno de ellos la etiqueta de fundador único.

Un anuncio oficial de gobernanza de 2025 presentó el Comité Directivo Técnico de Astro. En esa fecha de observación, identificaba a Matt Kane como líder del equipo del framework y a Sarah Rainsberger como líder del equipo de documentación; estos son datos fechados porque el liderazgo y la composición del comité pueden cambiar.

Datos sobre el proyecto y la comunidad

  • Junio de 2021: Fred Schott y Nate Moore escribieron la presentación oficial de Astro.
  • 2025: Astro anunció su Comité Directivo Técnico y las funciones del equipo vigentes en esa fecha.
  • Licencia: El repositorio mantenido del framework identifica Astro como software libre y de código abierto bajo la licencia MIT.
  • Soporte: El material oficial actual sobre versiones dirige la ayuda y los comentarios a la comunidad de Astro en Discord.
  • Participación: El proyecto dirige a los colaboradores y la participación en el proyecto a GitHub.
  • Primeros pasos: El README mantenido recomienda npm create astro@latest; la instalación manual utiliza npm install astro.

La gobernanza explica cómo organiza sus responsabilidades el proyecto de código abierto, mientras que el renderizado, las herramientas de contenido y los límites de interacción determinan su idoneidad técnica.

¿Qué representa astro.build?

astro.build es el sitio web oficial de Astro, mientras que Astro, el framework, es el tema que se describe aquí. El repositorio mantenido del sitio web indica que este está creado con Astro, lo que lo convierte en un ejemplo propio pertinente sin que los detalles de su mantenimiento formen parte de la definición del framework.

El repositorio mantenido del framework es la referencia más sólida para los paquetes compatibles, las rutas de instalación, las licencias, la comunidad y la información sobre contribuciones. La documentación de Astro sigue siendo la referencia principal para su modelo orientado al servidor, su enfoque en el contenido, su arquitectura de islas y sus directivas de hidratación.

Conclusión

La propuesta de Astro es clara: renderizar el contenido como HTML y, después, añadir JavaScript en el navegador únicamente a los componentes que necesitan interacción. Resulta atractivo para sitios basados en contenido con regiones interactivas separables y menos evidente para productos cuyas interfaces dependen de un estado continuo del lado del cliente.

No des por hecho que el valor predeterminado hace que todas las implementaciones sean rápidas. Crea una página realista, inspecciona su HTML y sus componentes hidratados, prueba el flujo de trabajo del contenido y confirma que los límites de las islas sigan siendo comprensibles a medida que crece el proyecto.

Una respuesta correcta no garantiza la seguridad. Las mediciones describen una observación puntual.

Fuentes principales

  1. 01Sitio web oficial de Astro (se abre en una pestaña nueva)
  2. 02Documentación de Astro: ¿Por qué Astro? (se abre en una pestaña nueva)
  3. 03Documentación de Astro: Arquitectura de islas (se abre en una pestaña nueva)
  4. 04README del repositorio mantenido del framework Astro (se abre en una pestaña nueva)
  5. 05Repositorio mantenido del framework Astro (se abre en una pestaña nueva)
  6. 06Repositorio del sitio web oficial astro.build (se abre en una pestaña nueva)
  7. 07Presentación de Astro (se abre en una pestaña nueva)
  8. 08Anuncio del Comité Directivo Técnico de Astro para 2025 (se abre en una pestaña nueva)
  9. 09Material oficial de lanzamiento de Astro 7 (se abre en una pestaña nueva)

Preguntas frecuentes

Respuestas prácticas sobre el producto y su funcionamiento.

¿Para qué se utiliza Astro?

Astro es un framework web para sitios basados en contenido, como blogs, documentación, sitios de marketing, portafolios, páginas de destino, sitios de comunidades y experiencias de comercio electrónico. Hace hincapié en el HTML renderizado en el servidor y añade JavaScript del lado del cliente únicamente donde los componentes se hidratan explícitamente.

¿Astro envía JavaScript a todas las páginas?

No. Astro no envía JavaScript del lado del cliente de forma predeterminada. Un proyecto aún puede añadir scripts y componentes interactivos, por lo que la cantidad final depende de qué componentes se hidraten y de qué otro código de navegador incluya el proyecto.

¿Qué es una isla en Astro y cuándo debe hidratarse?

Una isla es un componente interactivo hidratado de forma independiente dentro de una página que, por lo demás, es estática. Astro proporciona `client:load` para la carga prioritaria, `client:idle` para aplazar el trabajo y `client:visible` para los componentes que pueden esperar hasta aproximarse al viewport.

¿Puede Astro utilizar componentes de React, Vue o Svelte?

Sí. Astro es compatible con React, Preact, Svelte, Vue, Solid, HTMX, componentes web y otros enfoques de interfaz. Los equipos deben utilizar las integraciones de forma deliberada, porque combinar frameworks puede añadir código de runtime y trabajo de mantenimiento.

¿Qué son las colecciones de contenido de Astro?

Las colecciones de contenido organizan y validan Markdown y contenido relacionado con seguridad de tipos de TypeScript. Son útiles cuando un proyecto necesita una estructura coherente para publicar, consultar y renderizar grupos de contenido.

¿Es Astro adecuado para una aplicación web muy interactiva?

Depende de si la interfaz puede dividirse en islas independientes y significativas. Si casi todas las regiones necesitan hidratación, estado compartido en el cliente y actualizaciones continuas en el navegador, una arquitectura más centrada en aplicaciones podría ajustarse mejor al modelo de interacción predominante.

¿Quién presentó Astro y dónde pueden participar los usuarios?

Fred Schott y Nate Moore escribieron la presentación pública oficial de Astro en junio de 2021; la fuente no establece una etiqueta de fundador único. El material oficial dirige a los usuarios a Discord para obtener ayuda y enviar comentarios, y a GitHub para participar y contribuir.

Continue exploring

More published records in Developer Tools.

View all alternatives

Gatsby conecta sitios web de React con contenido estructurado y un renderizado flexible

Developer ToolsGoogle Analytics

Next.js incorpora enrutamiento, renderizado y funciones de servidor a React

Developer ToolsGoogle AnalyticsNext.js

nuxt.com

200 OK

Crea sitios web y aplicaciones Vue con enrutamiento, lógica de servidor y renderizado flexible

Developer ToolsNuxtVercel