Firebase App Hosting se diseñó específicamente para admitir el desarrollo de apps web modernas centradas en frameworks. Usa esta página como referencia para las herramientas y los frameworks que App Hosting admite directamente, así como un punto de partida para obtener información sobre los frameworks y las herramientas relacionados.
Frameworks web y App Hosting
App Hosting proporciona dos niveles amplios de compatibilidad con los frameworks web modernos: compatibilidad con compilaciones e implementaciones preconfiguradas, y compatibilidad a nivel de la comunidad a través de contribuciones de código abierto que se ajustan a la especificación del paquete de salida. En ambos casos, un componente de adaptador de framework permite la integración de un framework específico con App Hosting.
Frameworks con compatibilidad de compilación e implementación preconfigurada
Con la compatibilidad de compilación e implementación preconfigurada, Firebase identifica qué
framework estás usando inspeccionando el archivo package-lock.json o algún otro archivo de bloqueo, y optimiza los procesos de compilación e implementación para tu app. Google se
compromete a mantener la compatibilidad con estos frameworks, y el equipo de asistencia de Firebase
puede aceptar informes de problemas y solicitudes de funciones.
Este nivel de asistencia se proporciona para lo siguiente:
- Next.js
- Angular
Consulta los programas de asistencia para obtener detalles sobre las versiones específicas y los niveles de asistencia.
Si intentas implementar una app de Node.js que no tiene un archivo de bloqueo, App Hosting
no podrá compilar ni ejecutar tu app. Puedes crear package-lock.json
ejecutando npm install en tu directorio raíz.
Frameworks compatibles con la comunidad
Además de Next.js y Angular, App Hosting también admite cualquier framework web que pueda proporcionar un resultado de compilación que coincida con nuestra especificación del paquete de salida. Los autores de frameworks pueden aprovechar la especificación del paquete de salida para garantizar que App Hosting admita su framework. Por ejemplo, el popular framework de Nuxt es compatible con el equipo de Nitro, que creó un adaptador de Firebase para habilitar la implementación de apps de Nuxt en App Hosting.
Si quieres ver frameworks adicionales compatibles con App Hosting, puedes crear un adaptador de framework o comunicarte con los encargados de mantenimiento del framework para convertir los resultados de la compilación en el formato de App Hosting. Los adaptadores de Next.js y Angular son buenos ejemplos de referencia para cualquier persona que cree un adaptador.
Puedes encontrar información sobre los frameworks compatibles con la comunidad en Firebase de código abierto. Los problemas y las solicitudes de funciones para los frameworks compatibles con la comunidad se deben dirigir a la comunidad de código abierto o a los autores de los frameworks. En algunos casos, Google puede brindar asistencia, pero la comunidad es la primera línea de asistencia para estos adaptadores.
Adaptadores de framework de App Hosting
En App Hosting, la compatibilidad con los frameworks preconfigurados y compatibles con la comunidad se proporciona a través de adaptadores de frameworks. Los adaptadores del framework de App Hosting tienen dos funciones clave:
- Analizan tu código fuente y cualquier archivo de configuración específico del framework (como
next.config.js) y generan un paquete de salida que puede procesar el resto de la infraestructura de App Hosting. - Ejecutan el comando de compilación de tu app para generar recursos estáticos y crear una versión optimizada de tu app para producción.
Los adaptadores de framework compilan tu app de Node.js con npm run build, lo que funciona mejor
con las secuencias de comandos de compilación predeterminadas para cada framework: next build para Next.js y
ng build para Angular. App Hosting intentará realizar compilaciones con comandos de compilación personalizados, pero no puede garantizar el éxito de manera confiable. Puedes
anular las secuencias de comandos de compilación y ejecución
en apphosting.yaml.
La fuente de los adaptadores de Next.js y Angular está disponible en apphosting-adapters.
Entornos de ejecución para App Hosting
Después de que App Hosting la compila y lanza, la app de Node.js se ejecuta en una revisión de Cloud Run. Por lo tanto, la versión del entorno de ejecución de tu app debe estar dentro del rango admitido de Cloud Run y del rango del framework web que elijas. En el caso de la compatibilidad preconfigurada con Angular y Next.js, esto significa que se admiten las siguientes versiones de framework y Node.js:
- Next.js 13.5.x y versiones posteriores
- Angular 18.2.x y versiones posteriores
- Node.js 22 y versiones posteriores
App Hosting no proporciona automáticamente asistencia activa para las versiones de framework lanzadas recientemente. Las versiones más recientes que nuestra versión "activa" actual se considerarán en estado de "versión preliminar" hasta que se marquen oficialmente como "activas" para App Hosting.
App Hosting ofrece asistencia a largo plazo (LTS) para la versión secundaria más reciente de una versión principal durante un año a partir de su período de asistencia activa, siempre y cuando actualices de forma constante a las versiones de parche más recientes dentro de esa versión secundaria. Consulta las siguientes tablas para obtener detalles sobre Next.js y Angular.
Programa de asistencia de Next.js
| Versión | Estado | Baja |
|---|---|---|
| 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 | activo | No antes del 9 de octubre de 2026 |
Programa de asistencia de Angular
| Versión | Estado | Baja |
|---|---|---|
| 18.2.x | lts | 2026-10-9 |
| 19.0.x | lts | 2027-10-9 |
| 19.1.x | lts | 2027-10-9 |
| 19.2.x | activo | - |
Actualizaciones automáticas de imágenes base (ABIU)
Las actualizaciones automáticas de imágenes base (ABIU) son una función que aplica parches de seguridad de forma automática a tu entorno de ejecución subyacente sin que tengas que activar un lanzamiento de app nuevo.
App Hosting habilita de forma predeterminada la ABIU para los backends nuevos, con estos requisitos específicos:
- Entornos de ejecución con versiones: Para usar ABIU, debes especificar un entorno de ejecución con versiones
(como
nodejs22onodejs24). App Hosting admite versiones de Node.js con números pares, lo que refleja la compatibilidad de Cloud Run. - Coincidencia de package.json: La versión de Node que selecciones para App Hosting
debe ser compatible con la versión especificada en el campo
enginesde tu archivopackage.json. Si no hay coincidencia, se producirá un error de tiempo de compilación de Cloud Build. Cada vez que cambies el campoengines, asegúrate de actualizar el entorno de ejecución de tu backend antes de la implementación.
Inhabilitación de ABIU
Si quieres inhabilitar la ABIU, puedes hacerlo durante la integración o
seleccionando "Sin especificar" para tu entorno de ejecución en la consola de Firebase. Cuando
se usa un valor predeterminado de nodejs sin versión, la ABIU se inhabilita automáticamente.
Administra versiones del entorno de ejecución
Puedes ver y cambiar la versión del entorno de ejecución de tu backend y la preferencia de ABIU en cualquier momento en la pestaña Configuración del panel de App Hosting. Sin embargo, ten en cuenta que cambiar la versión del entorno de ejecución puede dañar tu aplicación si la versión nueva no es compatible con tu código.
Las versiones del entorno de ejecución llegan al final de su ciclo de vida de asistencia. Es importante mantener actualizados los entornos de ejecución para evitar cambios rotundos:
- Entornos de ejecución obsoletos: Si el entorno de ejecución que elegiste queda obsoleto, tu aplicación seguirá funcionando en general. Recibirás una advertencia en la consola y deberás cambiar a una versión más reciente lo antes posible. Para obtener más información, consulta la documentación de Cloud Run sobre el ciclo de vida del entorno de ejecución.
- Entornos de ejecución retirados: Los entornos de ejecución retirados no son compatibles. No podrás crear compilaciones ni backends nuevos con una versión retirada, y, si intentas hacerlo, se generará un error de compilación. Es posible que las implementaciones existentes que se ejecutan en versiones retiradas dejen de funcionar, y Cloud Run se reserva el derecho de borrarlas.
Para obtener una lista completa de las versiones de Node compatibles, obsoletas y retiradas, consulta la documentación de asistencia del entorno de ejecución de Cloud Run. Para obtener más detalles técnicos sobre cómo funcionan las actualizaciones de imágenes base, consulta la documentación de ABIU de Cloud Run.
Administradores de paquetes
App Hosting usa Cloud Native Buildpacks para ejecutar la instalación de dependencias y compila la app con npm, yarn o pnpm. No se admiten otros administradores de paquetes, como JSR.
NPM
- NPM es el administrador de paquetes predeterminado.
- Las dependencias que no son de producción se quitan después de que la compilación se realiza correctamente.
- Puedes especificar la sección de la versión de la Administración de socios de red mediante el campo
engines.npmen el archivopackage.json.
Yarn
- En su lugar, se usa Yarn cuando incluyes el archivo
yarn.locken tu proyecto. - Puedes especificar la versión de yarn para usar en el campo
engines.yarnopackageManagerdel archivopackage.json. - App Hosting admite el modo PnP de Yarn2.
Pnpm
- Pnpm se usa en su lugar cuando incluyes el archivo
pnpm-lock.yamlen el proyecto. - Puedes especificar una versión de pnpm en el campo
engines.pnpmopackageManagerdel archivopackage.json. - Para ver un ejemplo funcional, consulta la app de sample-node-pnpm.
Monorepositorios para App Hosting
App Hosting admite apps de monorrepositorio de Nx y Turborepo. Consulta Usa monorepositorios con App Hosting para obtener orientación detallada.
Se admiten las siguientes versiones de Nx:
| Versión | Estado | Baja |
|---|---|---|
| 20.8.x | lts | no antes del 9 de octubre de 2027 |
Si necesitas asistencia para otros tipos de espacios de trabajo de monorrepositorio, comunícate con nosotros en UserVoice de Firebase.