Skip to content
Português
Voltar ao diretório

astro.build

200 OK

Como o Astro transforma conteúdo em HTML e adiciona interação de forma seletiva

Developer ToolsTailwind CSS
Resposta direta

Astro é uma ótima opção para sites orientados a conteúdo que devem entregar HTML útil antes que o JavaScript do navegador seja executado. Sua escolha distintiva é a hidratação seletiva: as equipes podem manter a maior parte de uma página estática enquanto ativam componentes individuais, embora aplicações altamente interativas possam se beneficiar menos desse limite.

Última verificação:

Conceitos principais

  • Entrega com HTML em primeiro lugar: Astro renderiza o conteúdo da página como HTML e, por padrão, não envia JavaScript para o cliente.

  • Hidratação seletiva: Somente os componentes explicitamente marcados para hidratação no navegador recebem o JavaScript necessário para a interação.

  • Ilhas independentes: Os componentes interativos são hidratados separadamente e podem usar prioridades de carregamento adequadas ao momento em que os visitantes precisam deles.

  • Múltiplas abordagens de UI: Astro é compatível com React, Preact, Svelte, Vue, Solid, HTMX, componentes web e outras abordagens.

  • Coleções de conteúdo tipadas: As coleções de conteúdo organizam e validam conteúdo Markdown com segurança de tipos do TypeScript.

  • Adequação a conteúdo: Astro está mais diretamente alinhado a sites nos quais ler e navegar pelo conteúdo são as atividades predominantes dos usuários.

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

All alternatives

Como o Astro transforma conteúdo em HTML e adiciona interação de forma seletiva

O que é Astro?

Astro é um framework web de código aberto para criar sites orientados a conteúdo. Ele renderiza o conteúdo da página como HTML e, por padrão, não envia JavaScript para o cliente, ao mesmo tempo que permite aos desenvolvedores adicionar componentes hidratados de forma independente onde a interação no navegador é necessária.

Essa abordagem é adequada para blogs, documentação, sites de marketing, portfólios, landing pages, sites de comunidades e experiências de comércio eletrônico orientadas a conteúdo. Astro pode incorporar vários frameworks de UI conhecidos sem exigir que a página inteira se torne uma aplicação renderizada no cliente.

Resumo rápido

  • Finalidade principal: Criar sites orientados a conteúdo com base em HTML renderizado no servidor.
  • Custo padrão no navegador: Nenhum JavaScript no cliente, a menos que o projeto o adicione explicitamente.
  • Arquitetura central: Componentes interativos tornam-se ilhas isoladas dentro de páginas que, de outro modo, seriam estáticas.
  • Abordagens de UI compatíveis: React, Preact, Svelte, Vue, Solid, HTMX, componentes web e outras.
  • Ferramentas de conteúdo: Coleções de conteúdo organizam e validam Markdown com segurança de tipos do TypeScript.
  • Melhor adequação: Sites nos quais ler e navegar pelo conteúdo importa mais do que manter estado contínuo no navegador.
  • Principal contrapartida: As equipes precisam decidir quais componentes necessitam de JavaScript e quando eles devem ser carregados.

Que problema o Astro tenta resolver?

Sites de conteúdo frequentemente usam arquiteturas de frontend voltadas a aplicações mesmo quando suas páginas contêm principalmente títulos, artigos, explicações de produtos, imagens e links. Isso pode enviar JavaScript para uma ampla árvore de componentes, apesar de grande parte da página não precisar de execução no navegador.

Astro parte de uma premissa server-first: o conteúdo se transforma em HTML, e a execução no navegador é adicionada somente onde a interação exige. Assim, o modelo de entrega pode acompanhar o comportamento real da página em vez de tratar cada elemento como parte de uma única aplicação interativa.

A documentação oficial descreve Astro como orientado a conteúdo, server-first, rápido por padrão, fácil de usar e voltado aos desenvolvedores. Esses são objetivos de design, não garantias, pois imagens, scripts de terceiros, código de componentes e escolhas de implementação ainda afetam o site finalizado.

O que o Astro organiza em um projeto de conteúdo

  • Páginas cujo principal valor é o HTML legível.
  • Layouts e componentes reutilizáveis ao redor desse conteúdo.
  • Conteúdo Markdown organizado por meio de coleções.
  • Validação e esquemas compatíveis com TypeScript para as entradas das coleções.
  • Componentes interativos opcionais usando frameworks de UI compatíveis.
  • Integrações adicionadas de acordo com as necessidades de conteúdo e entrega.

Como o Astro renderiza uma página?

Astro separa o conteúdo estático da página dos componentes interativos do navegador. O servidor produz HTML, enquanto os componentes marcados para hidratação recebem JavaScript e tornam-se interativos de acordo com uma diretiva selecionada pelo desenvolvedor.

Isso difere tanto de transformar a página completa em uma única árvore de componentes no cliente quanto de publicar um documento completamente estático que não pode adicionar comportamento no navegador. Astro ocupa o meio-termo ao atribuir interação a partes específicas de uma página.

Comparação de arquitetura e renderização

Região da página ou abordagem Saída inicial JavaScript no navegador Limite da interação Implicação prática
Conteúdo estático do Astro HTML renderizado no servidor Nenhum por padrão Nenhum componente hidratado Texto, links e outros conteúdos estáticos continuam úteis sem um runtime de componentes.
Ilha interativa do Astro HTML mais um componente explicitamente hidratado Carregado para esse componente A ilha individual Um menu ou controle de busca pode tornar-se interativo sem hidratar o artigo ao redor.
Várias ilhas do Astro HTML mais componentes hidratados separadamente Carregado de acordo com as necessidades de cada ilha Cada ilha é hidratada de forma independente As equipes podem priorizar interações importantes e adiar componentes que não sejam necessários imediatamente.
Aplicação de página inteira no cliente Shell ou HTML específico da aplicação Normalmente sustenta uma ampla árvore de componentes no cliente Grande parte da página compartilha execução no navegador Isso pode ser adequado para interação contínua, mas pode aplicar um modelo de aplicação a conteúdo que não precisa dele.

Esses limites não garantem um resultado específico de desempenho. Uma ilha grande ainda pode enviar uma quantidade substancial de código, enquanto mídias pesadas e scripts não relacionados podem deixar a página lenta; Astro oferece um padrão com pouco JavaScript, mas a experiência final continua sendo responsabilidade da equipe.

O que é uma ilha do Astro?

Uma ilha é um componente de UI interativo dentro de uma página que, de outro modo, seria estática. Títulos, parágrafos, links e outros materiais não interativos ao redor permanecem como HTML, enquanto a ilha recebe o código de navegador necessário para seu comportamento.

As ilhas são hidratadas de forma independente, portanto ativar um componente não exige que todos os outros componentes interativos sejam ativados junto com ele. Os frameworks de componentes compatíveis podem coexistir, embora o uso de vários deles possa aumentar a duplicação de runtimes e as demandas de manutenção.

Quando uma ilha pode ser hidratada?

  • client:load: Prioriza o componente quando a página é carregada.
  • client:idle: Adia a hidratação até que o navegador tenha tempo ocioso.
  • client:visible: Aguarda até que o componente se aproxime da viewport.

Essas diretivas tornam a prioridade de carregamento parte do posicionamento do componente. Um controle necessário imediatamente pode ser tratado de forma diferente de um elemento interativo mais abaixo na página, e a escolha deve acompanhar a necessidade do usuário em vez de seguir uma regra geral.

O que as ilhas garantem e o que não garantem

As ilhas ajudam uma equipe a fazer isto As ilhas não garantem isto
Manter conteúdo estático como HTML Que toda página concluída será rápida
Adicionar JavaScript somente a componentes selecionados Que os componentes hidratados serão pequenos
Dar prioridades de carregamento diferentes às ilhas Que scripts de terceiros serão eficientes
Usar frameworks de UI compatíveis em regiões interativas Que misturar frameworks não terá custo de runtime ou manutenção
Preservar uma estrutura de página centrada no conteúdo Que imagens, fontes e outros recursos serão otimizados automaticamente

A propriedade útil é o controle. A hidratação permanece visível no uso dos componentes, permitindo que os desenvolvedores analisem onde o JavaScript entra na página e se cada dependência justifica seu custo.

Como o Astro lida com frameworks de UI e conteúdo?

Astro é compatível com React, Preact, Svelte, Vue, Solid, HTMX, componentes web e outras abordagens de UI. Uma equipe pode usar um framework de componentes conhecido para uma ilha enquanto mantém o documento ao redor dentro do modelo de página renderizada no servidor do Astro.

Essa flexibilidade pode permitir uma adoção gradual ou preservar um investimento existente em componentes, mas não torna vantajosa a combinação de todos os frameworks. Uma abordagem principal consistente costuma ser mais fácil de entender, e cada runtime adicional deve resolver um problema específico.

As coleções de conteúdo complementam esse modelo de renderização ao fornecer a Markdown e conteúdos relacionados uma estrutura organizada e validada, com segurança de tipos do TypeScript. Um projeto de publicação ou documentação pode tratar seu conteúdo como um conjunto de dados coerente em vez de arquivos sem relação entre si.

Áreas mantidas do ecossistema

O repositório do framework identifica pacotes mantidos oficialmente para várias necessidades:

  • Integrações de UI para React, Preact, Solid, Svelte e Vue.
  • Suporte de runtime por meio da integração com Node e vários adaptadores de implantação.
  • Ferramentas de conteúdo e publicação, incluindo integrações com MDX, RSS e sitemap.
  • Integração relacionada a scripts por meio do Partytown.

Os projetos podem começar com Astro e adicionar integrações quando os requisitos as justificarem. A documentação atual e as informações sobre pacotes mantidos devem orientar as escolhas de instalação, pois a disponibilidade e a compatibilidade podem mudar.

Para quem o Astro é uma boa opção?

Astro está mais alinhado a projetos nos quais o conteúdo deve estar disponível como HTML e a interação ocupa regiões distintas. Vale especialmente a pena avaliá-lo quando a principal atividade do usuário é ler, navegar, comparar ou descobrir informações.

Um produto com características de aplicação ainda pode conter páginas centradas no conteúdo, mas seu modelo de interação predominante é importante. Se a maioria das telas depende de estado compartilhado no cliente e atualizações contínuas no navegador, os limites das ilhas podem oferecer menos valor ou exigir mais decisões arquiteturais.

Orientações de adequação e inadequação

Vale a pena considerar Astro quando Avalie outras abordagens com cuidado quando
O projeto é um blog, site de documentação, portfólio, landing page, site de marketing, site de comunidade ou experiência de comércio orientada a conteúdo. A maioria das telas se comporta como uma aplicação de navegador continuamente interativa.
O conteúdo importante deve chegar como HTML sem aguardar um runtime no cliente. Quase todas as regiões da página exigem hidratação e estado compartilhado no navegador.
A interatividade pode ser dividida em componentes claros. É difícil separar a interação em regiões independentes.
A equipe quer reutilizar seletivamente componentes de UI compatíveis. A equipe espera que misturar frameworks seja simples ou não tenha custos.
Organização, validação e segurança de tipos para Markdown são valiosas. O projeto tem pouco conteúdo e não obtém benefício significativo das coleções de conteúdo.

Essa orientação é um filtro arquitetural, não um veredito. A avaliação mais sólida usa uma página representativa que contenha conteúdo real e a interação mais exigente esperada em produção.

Quais são as principais contrapartidas do Astro?

A principal vantagem e a carga de design do Astro vêm da mesma escolha: o JavaScript no navegador é seletivo. As equipes ganham controle sobre a hidratação, mas precisam definir limites sensatos para os componentes e prioridades de carregamento.

Benefícios sustentados pela arquitetura

  • O conteúdo estático permanece como HTML renderizado no servidor.
  • O JavaScript é opcional para componentes que precisam de comportamento no navegador.
  • As ilhas podem ser hidratadas de forma independente.
  • A prioridade de carregamento pode refletir quando uma interação se torna útil.
  • Frameworks de UI compatíveis podem ser usados sem controlar a página completa.
  • Coleções de conteúdo fornecem organização, validação e segurança de tipos do TypeScript.

Custos e decisões a considerar

  • Os desenvolvedores precisam identificar quais componentes realmente exigem hidratação.
  • Diretivas mal escolhidas podem carregar código antes ou depois do momento em que os usuários precisam dele.
  • Ilhas grandes podem enfraquecer o benefício da hidratação seletiva.
  • Vários frameworks de UI podem introduzir código de runtime duplicado e manutenção adicional.
  • Scripts de terceiros e mídias grandes continuam sendo preocupações de desempenho.
  • Produtos com muita interação precisam determinar se as ilhas correspondem ao seu modelo de estado.

Astro favorece a composição deliberada. Ele remove o JavaScript automático no cliente do ponto de partida, mas não elimina a necessidade de analisar dependências, recursos, acessibilidade ou o comportamento real da página.

Como uma equipe deve avaliar o Astro?

Uma avaliação útil deve reproduzir os requisitos mais difíceis de conteúdo e interação do projeto. Uma demonstração mínima pode provar que Astro funciona, mas não consegue mostrar se a arquitetura se adapta ao fluxo real de autoria ou ao comportamento no navegador.

Checklist de avaliação

  1. Escolha uma página representativa. Use títulos, conteúdo principal, navegação, imagens e links reais em vez de placeholders.
  2. Identifique as regiões estáticas. Marque quais partes podem permanecer como HTML sem um runtime de componentes no navegador.
  3. Selecione a interação mais difícil. Inclua o componente mais exigente razoavelmente esperado.
  4. Defina os limites das ilhas. Determine se as regiões interativas podem ser hidratadas de forma independente sem uma coordenação de estado inconveniente.
  5. Atribua prioridades de hidratação. Teste se client:load, client:idle ou client:visible corresponde ao momento em que cada componente se torna útil.
  6. Analise o uso de frameworks. Confirme que cada integração de UI resolve uma necessidade concreta e registre os custos de runtimes duplicados.
  7. Teste o modelo de conteúdo. Crie uma coleção representativa e verifique se a validação e os tipos do TypeScript dão suporte ao fluxo editorial.
  8. Inspecione a saída entregue. Confirme que o conteúdo essencial está presente como HTML e identifique o JavaScript adicionado pelos componentes hidratados.
  9. Aplique restrições reais. Inclua as mídias, os scripts de terceiros, a navegação e os requisitos de implantação esperados.
  10. Compare a manutenibilidade. Pergunte se o limite entre conteúdo e interação está claro para a equipe que opera o site.

A decisão deve se basear nesse protótipo. Os padrões documentados explicam a intenção do Astro, enquanto uma implementação representativa revela se eles correspondem às necessidades reais de conteúdo, interação e manutenção do projeto.

Como o Astro começou e como é governado?

Astro foi apresentado publicamente em junho de 2021 por meio de uma publicação oficial de autoria de Fred Schott e Nate Moore. A fonte identifica ambos como os autores que apresentaram o projeto e não sustenta atribuir exclusivamente a qualquer um deles o título de fundador.

Um anúncio oficial de governança de 2025 nomeou o Comitê Diretor Técnico do Astro. Na data dessa observação, ele identificava Matt Kane como líder da equipe do framework e Sarah Rainsberger como líder da equipe de documentação; esses são fatos datados porque a liderança e a composição do comitê podem mudar.

Fatos sobre o projeto e a comunidade

  • Junho de 2021: Fred Schott e Nate Moore escreveram a apresentação oficial do Astro.
  • 2025: Astro anunciou seu Comitê Diretor Técnico e as funções da equipe naquela data.
  • Licença: O repositório mantido do framework identifica Astro como software livre e de código aberto sob a licença MIT.
  • Suporte: O material oficial atual de lançamento direciona ajuda e feedback à comunidade do Astro no Discord.
  • Participação: O projeto direciona colaboradores e a participação no projeto ao GitHub.
  • Primeiros passos: O README mantido recomenda npm create astro@latest; a instalação manual usa npm install astro.

A governança explica como o projeto de código aberto organiza responsabilidades, enquanto a renderização, as ferramentas de conteúdo e os limites de interação determinam sua adequação técnica.

O que astro.build representa?

astro.build é o site oficial do Astro, enquanto Astro, o framework, é o assunto descrito aqui. O repositório mantido do site declara que ele foi criado com Astro, tornando-o um exemplo primário relevante sem transformar os detalhes de sua manutenção em parte da definição do framework.

O repositório mantido do framework é a referência mais sólida para pacotes compatíveis, caminhos de instalação, licenciamento, comunidade e informações de contribuição. A documentação do Astro continua sendo a principal referência para seu modelo server-first, foco em conteúdo, arquitetura de ilhas e diretivas de hidratação.

Conclusão

A proposta do Astro é clara: renderizar conteúdo como HTML e depois adicionar JavaScript no navegador somente aos componentes que precisam de interação. Ele é atraente para sites orientados a conteúdo com regiões interativas separáveis e menos evidente para produtos cujas interfaces dependem de estado contínuo no cliente.

Não presuma que o padrão torna toda implementação rápida. Crie uma página realista, inspecione seu HTML e seus componentes hidratados, teste o fluxo de conteúdo e confirme se os limites das ilhas permanecem compreensíveis à medida que o projeto cresce.

Uma resposta bem-sucedida não garante segurança. As medições descrevem uma observação em um momento específico.

Fontes principais

  1. 01Site oficial do Astro (abre em uma nova guia)
  2. 02Documentação do Astro: Por que Astro? (abre em uma nova guia)
  3. 03Documentação do Astro: Arquitetura de ilhas (abre em uma nova guia)
  4. 04README do repositório mantido do framework Astro (abre em uma nova guia)
  5. 05Repositório mantido do framework Astro (abre em uma nova guia)
  6. 06Repositório do site oficial astro.build (abre em uma nova guia)
  7. 07Apresentando Astro (abre em uma nova guia)
  8. 08Anúncio do Comitê Diretor Técnico do Astro para 2025 (abre em uma nova guia)
  9. 09Material oficial de lançamento do Astro 7 (abre em uma nova guia)

Perguntas frequentes

Respostas práticas sobre o produto e como ele funciona.

Para que o Astro é usado?

Astro é um framework web para sites orientados a conteúdo, como blogs, documentação, sites de marketing, portfólios, landing pages, sites de comunidades e experiências de comércio eletrônico. Ele enfatiza HTML renderizado no servidor e adiciona JavaScript no cliente somente onde os componentes são explicitamente hidratados.

O Astro envia JavaScript para todas as páginas?

Não. Por padrão, Astro não envia JavaScript para o cliente. Um projeto ainda pode adicionar scripts e componentes interativos, portanto a quantidade final depende de quais componentes são hidratados e de qual outro código de navegador o projeto inclui.

O que é uma ilha no Astro e quando ela deve ser hidratada?

Uma ilha é um componente interativo hidratado de forma independente dentro de uma página que, de outro modo, seria estática. Astro fornece `client:load` para carregamento prioritário, `client:idle` para trabalho adiado e `client:visible` para componentes que podem aguardar até se aproximarem da viewport.

O Astro pode usar componentes React, Vue ou Svelte?

Sim. Astro é compatível com React, Preact, Svelte, Vue, Solid, HTMX, componentes web e outras abordagens de UI. As equipes devem usar as integrações deliberadamente, pois combinar frameworks pode adicionar código de runtime e trabalho de manutenção.

O que são as coleções de conteúdo do Astro?

As coleções de conteúdo organizam e validam Markdown e conteúdos relacionados com segurança de tipos do TypeScript. Elas são úteis quando um projeto precisa de uma estrutura consistente para publicar, consultar e renderizar grupos de conteúdo.

O Astro é adequado para uma aplicação web altamente interativa?

Depende de a interface poder ser dividida em ilhas independentes e significativas. Se quase todas as regiões precisarem de hidratação, estado compartilhado no cliente e atualizações contínuas no navegador, uma arquitetura mais centrada em aplicações poderá se adaptar melhor ao modelo de interação predominante.

Quem apresentou o Astro e onde os usuários podem participar?

Fred Schott e Nate Moore escreveram a apresentação pública oficial do Astro em junho de 2021; a fonte não estabelece um título de fundador exclusivo. O material oficial direciona os usuários ao Discord para ajuda e feedback e ao GitHub para participação e contribuições.

Continue exploring

More published records in Developer Tools.

View all alternatives

Gatsby conecta sites React a conteúdo estruturado e renderização flexível

Developer ToolsGoogle Analytics

O Next.js traz roteamento, renderização e recursos de servidor ao React

Developer ToolsGoogle AnalyticsNext.js

nuxt.com

200 OK

Crie sites e aplicações Vue com roteamento, lógica de servidor e renderização flexível

Developer ToolsNuxtVercel