O Firebase App Hosting foi projetado especificamente para dar suporte ao desenvolvimento de apps da Web modernos centrados em frameworks. Use esta página como referência para as ferramentas e os frameworks que o App Hosting aceita diretamente, bem como um ponto de partida para aprender mais sobre frameworks e ferramentas relacionados.
Frameworks da Web e App Hosting
O App Hosting oferece dois níveis amplos de suporte para frameworks da Web modernos: suporte pré-configurado para criação e implantação e suporte no nível da comunidade por meio de contribuições de código aberto em conformidade com a especificação do pacote de saída. Em ambos os casos, um componente de adaptador de framework permite a integração de um framework específico com o App Hosting.
Frameworks com suporte pré-configurado para criação e implantação
Com o suporte pré-configurado para build e implantação, o Firebase identifica qual
framework você está usando inspecionando o arquivo package-lock.json ou outro arquivo
de bloqueio e otimiza os processos de build e implantação do seu app. O Google tem o
compromisso de manter o suporte para esses frameworks, e a equipe de suporte do Firebase
pode aceitar relatórios de problemas e solicitações de recursos.
Esse nível de suporte é fornecido para:
- Next.js
- Angular
Consulte as programações de suporte para mais detalhes sobre versões específicas e níveis de suporte.
Se você tentar implantar um app Node.js sem um arquivo de bloqueio, o App Hosting
não vai conseguir criar e executar o app. É possível criar package-lock.json
executando npm install no diretório raiz.
Frameworks compatíveis com a comunidade
Além do Next.js e do Angular, o App Hosting também é compatível com qualquer framework da Web que possa fornecer uma saída de build que corresponda à nossa especificação de pacote de saída. Os autores de frameworks podem aproveitar a especificação do pacote de saída para garantir que o framework seja compatível com o App Hosting. Por exemplo, o conhecido framework Nuxt é compatível com a equipe do Nitro, que criou um adaptador do Firebase para permitir a implantação de apps Nuxt no App Hosting.
Se você quiser ver outros frameworks compatíveis com o App Hosting, crie um adaptador de framework ou entre em contato com os mantenedores do framework para converter as saídas de build no formato App Hosting. Os adaptadores do Next.js e do Angular são bons exemplos de referência para quem está criando um adaptador.
As informações sobre frameworks com suporte da comunidade podem ser encontradas no Firebase de código aberto. Problemas e solicitações de recursos para frameworks com suporte da comunidade precisam ser direcionados à comunidade de código aberto ou aos autores do framework. Em alguns casos, o Google pode ajudar, mas a comunidade é a primeira linha de suporte para esses adaptadores.
Adaptadores de framework App Hosting
No App Hosting, o suporte para frameworks pré-configurados e compatíveis com a comunidade é fornecido por meio de adaptadores de framework. Os adaptadores do framework App Hosting têm dois papéis principais:
- Eles analisam o código-fonte e todos os arquivos de configuração específicos do framework (como
next.config.js) e geram um pacote de saída que pode ser processado pelo restante da infraestrutura do App Hosting. - Eles executam o comando de build do app para gerar recursos estáticos e criar uma versão otimizada do app para produção.
Os adaptadores de framework criam seu app Node.js com npm run build, funcionando melhor
com os scripts de build padrão para cada framework: next build para Next.js e
ng build para Angular. O App Hosting vai tentar criar com comandos de build personalizados, mas não pode garantir o sucesso. É possível
substituir scripts de build e execução
em apphosting.yaml.
A origem dos adaptadores Next.js e Angular está disponível em apphosting-adapters.
Ambientes de execução para App Hosting
Depois de ser criado e lançado pelo App Hosting, o app Node.js é executado em uma revisão do Cloud Run. Portanto, a versão do ambiente de execução do app precisa estar dentro do intervalo compatível com o Cloud Run e do intervalo do framework da Web escolhido. Para o suporte pré-configurado para Angular e Next.js, isso significa que as seguintes versões de framework e Node.js são compatíveis:
- Next.js 13.5.x e versões mais recentes
- Angular 18.2.x e versões mais recentes
- Node.js 22 e versões mais recentes
O App Hosting não oferece suporte ativo automaticamente para versões de framework recém-lançadas. As versões mais recentes do que a versão atualmente designada como "ativa" serão consideradas em um estado de "pré-lançamento" até serem oficialmente marcadas como "ativas" para o App Hosting.
O App Hosting oferece suporte de longo prazo (LTS) para a versão secundária mais recente de uma versão principal por um ano a partir do período de suporte ativo, desde que você atualize consistentemente para as versões de patch mais recentes dentro dessa versão secundária. Consulte as tabelas a seguir para mais detalhes sobre o Next.js e o Angular.
Cronograma de suporte do Next.js
| Versão | Status | Suspensão de uso |
|---|---|---|
| 13.5.x | lts | 2026-10-9 |
| 14.2.x | lts | 2026-10-9 |
| 15.0.x | lts | 2027-10-9 |
| 15.1.x | lts | 2027-10-9 |
| 15.2.x | ativo | não antes de 09/10/2026 |
Cronograma de suporte do Angular
| Versão | Status | Suspensão de uso |
|---|---|---|
| 18.2.x | lts | 2026-10-9 |
| 19.0.x | lts | 2027-10-9 |
| 19.1.x | lts | 2027-10-9 |
| 19.2.x | ativo | - |
Atualizações automáticas de imagens de base (ABIU, na sigla em inglês)
As atualizações automáticas de imagem de base (ABIU, na sigla em inglês) são um recurso que aplica automaticamente patches de segurança ao ambiente de execução sem que você precise acionar um novo lançamento de app.
O App Hosting ativa a ABIU por padrão para novos back-ends, com estes requisitos específicos:
- Ambientes de execução com controle de versão:para usar a ABIU, é necessário especificar um ambiente de execução com controle de versão
(como
nodejs22ounodejs24). O App Hosting oferece suporte a versões pares do Node.js, espelhando o suporte do Cloud Run. - Correspondência de package.json:a versão do Node selecionada para App Hosting
precisa ser compatível com a versão especificada no campo
enginesdo arquivopackage.json. Se houver uma incompatibilidade, você vai encontrar um erro de tempo de build de Cloud Build. Sempre que você alterar o campoengines, atualize o ambiente de execução do back-end antes da implantação.
Como desativar a ABIU
Se você quiser desativar a ABIU, faça isso durante a integração ou
selecionando "Não especificado" para o ambiente de execução no console do Firebase. Quando
um padrão nodejs sem versão é usado, a ABIU é desativada automaticamente.
Como gerenciar versões do ambiente de execução
É possível conferir e mudar a versão do ambiente de execução do back-end e a preferência de ABIU a qualquer momento na guia Configurações do painel do App Hosting. No entanto, mudar a versão do ambiente de execução pode corromper o aplicativo se a nova versão for incompatível com o código.
As versões do ambiente de execução acabam chegando ao fim do ciclo de vida de suporte. É importante manter os ambientes de execução atualizados para evitar alterações interruptivas:
- Ambientes de execução descontinuados:se o ambiente de execução escolhido for descontinuado, o aplicativo geralmente continuará funcionando. Você vai receber um aviso no console e precisará migrar para uma versão mais recente assim que possível. Para mais informações, consulte a documentação do Cloud Run sobre o ciclo de vida do ambiente de execução.
- Ambientes de execução desativados:os ambientes de execução desativados não têm suporte. Não será possível criar builds ou back-ends usando uma versão desativada. Se você tentar fazer isso, um erro de build será gerado. As implantações atuais em execução em versões desativadas podem parar de funcionar, e o Cloud Run se reserva o direito de excluí-las.
Para ver uma lista completa de versões do Node compatíveis, descontinuadas e desativadas, consulte a documentação de suporte ao ambiente de execução do Cloud Run. Para mais detalhes técnicos sobre como as atualizações de imagem de base funcionam, consulte a documentação da ABIU do Cloud Run.
Gerenciadores de pacotes
O App Hosting usa buildpacks nativos da nuvem para executar a instalação de dependências e criar o app usando npm, yarn ou pnpm. Outros gerenciadores de pacotes, como o JSR, não são compatíveis.
NPM
- O NPM é o gerenciador de pacotes padrão.
- As dependências que não são de produção são removidas após o build ser concluído.
- É possível especificar a seção da versão do NPM usando o campo
engines.npmno arquivopackage.json.
Lã
- O Yarn é usado quando você inclui o arquivo
yarn.lockno projeto. - É possível especificar a versão do Yarn a ser usada no campo
engines.yarnoupackageManagerdo arquivopackage.json. - O App Hosting é compatível com o modo Yarn2 PnP.
Pnpm
- O Pnpm é usado quando você inclui o arquivo
pnpm-lock.yamlno projeto. - É possível especificar uma versão do pnpm no campo
engines.pnpmoupackageManagerdo arquivopackage.json. - Para um exemplo prático, confira o app sample-node-pnpm.
Monorrepositórios para App Hosting
O App Hosting é compatível com apps monorepo Nx e Turborepo. Consulte Usar monorrepositórios com App Hosting para orientações detalhadas.
As seguintes versões do Nx são compatíveis:
| Versão | Status | Suspensão de uso |
|---|---|---|
| 20.8.x | lts | not before 2027-10-9 |
Se você precisar de suporte para outros tipos de espaços de trabalho de monorepo, entre em contato pelo UserVoice do Firebase.