Framework e strumenti per l'hosting delle app

Firebase App Hosting è progettato specificamente per supportare lo sviluppo di app web moderne incentrate sui framework. Utilizza questa pagina come riferimento per gli strumenti e i framework supportati direttamente da App Hosting, nonché come punto di partenza per scoprire i framework e gli strumenti correlati.

Framework web e App Hosting

App Hosting fornisce due ampi livelli di supporto per i framework web moderni: supporto preconfigurato per la creazione e il deployment e supporto a livello di community tramite contributi open source conformi alla specifica del bundle di output. In entrambi i casi, un componente adattatore del framework consente l'integrazione di un framework specifico con App Hosting.

Framework con supporto preconfigurato per la creazione e il deployment

Con il supporto preconfigurato per la creazione e il deployment, Firebase identifica il framework che stai utilizzando esaminando il file package-lock.json o un altro file di blocco e ottimizza i processi di creazione e deployment per la tua app. Google si impegna a mantenere il supporto per questi framework e il team di assistenza di Firebase può accettare segnalazioni di problemi e richieste di funzionalità.

Questo livello di assistenza viene fornito per:

  • Next.js
  • Angular

Consulta le pianificazioni dell'assistenza per i dettagli sulle versioni specifiche e sui livelli di assistenza.

Se provi a eseguire il deployment di un'app Node.js senza un file di blocco, App Hosting non riuscirà a creare ed eseguire l'app. Puoi creare package-lock.json eseguendo npm install nella directory root.

Framework supportati dalla community

Oltre a Next.js e Angular, App Hosting supporta anche qualsiasi framework web in grado di fornire un output di build corrispondente alla nostra specifica del bundle di output. Gli autori dei framework possono sfruttare la specifica del bundle di output per garantire che il loro framework sia supportato da App Hosting. Ad esempio, il popolare framework Nuxt è supportato dal team di Nitro, che ha creato un adattatore Firebase per consentire il deployment delle app Nuxt su App Hosting.

Se vuoi vedere altri framework supportati da App Hosting, puoi creare un adattatore del framework o contattare i gestori del framework per convertire gli output di build nel formato App Hosting. Gli adattatori Next.js e Angular sono buoni esempi di riferimento per chiunque crei un adattatore.

Puoi trovare informazioni sui framework supportati dalla community su Firebase Open Source. I problemi e le richieste di funzionalità per i framework supportati dalla community devono essere indirizzati alla community open source o agli autori del framework. In alcuni casi Google potrebbe essere in grado di fornire assistenza, ma la community è la prima linea di supporto per questi adattatori.

Adattatori per framework App Hosting

In App Hosting, il supporto per i framework preconfigurati e supportati dalla community viene fornito tramite gli adattatori dei framework. Gli adattatori del framework App Hosting hanno due ruoli chiave:

  • Analizzano il codice sorgente e tutti i file di configurazione specifici del framework (come next.config.js) e generano un bundle di output che può essere elaborato dal resto dell'infrastruttura App Hosting.
  • Eseguono il comando di build della tua app per generare asset statici e creare una versione ottimizzata della tua app per la produzione.

Gli adattatori del framework creano la tua app Node.js con npm run build, funzionando al meglio con gli script di build predefiniti per ogni framework: next build per Next.js e ng build per Angular. App Hosting tenterà di eseguire le build con comandi di build personalizzati, ma non può garantire il successo in modo affidabile. Puoi eseguire l'override degli script di build ed esecuzione in apphosting.yaml.

Il codice sorgente degli adattatori Next.js e Angular è disponibile in apphosting-adapters.

Runtime per App Hosting

Dopo la creazione e l'implementazione da parte di App Hosting, l'app Node.js viene eseguita in una revisione Cloud Run. Di conseguenza, la versione di runtime della tua app deve rientrare sia nell'intervallo supportato di Cloud Run sia nell'intervallo del framework web scelto. Per il supporto preconfigurato di Angular e Next.js, ciò significa che sono supportate le seguenti versioni del framework e di Node.js:

  • Next.js 13.5.x e versioni successive
  • Angular 18.2.x e versioni successive
  • Node.js 22 e versioni successive

App Hosting non fornisce automaticamente assistenza attiva per le versioni dei framework appena rilasciate. Le versioni più recenti della nostra versione attualmente designata come "attiva" verranno considerate in stato di "anteprima" finché non verranno contrassegnate ufficialmente come "attive" per App Hosting.

App Hosting fornisce assistenza a lungo termine (LTS) per l'ultima versione secondaria di una release principale per un anno dal periodo di assistenza attiva, a condizione che tu esegua costantemente l'aggiornamento alle ultime release patch all'interno della versione secondaria. Per i dettagli su Next.js e Angular, consulta le tabelle seguenti.

Programma di assistenza di Next.js

Versione Stato Ritiro
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 attivo not before 2026-10-9

Programma di assistenza di Angular

Versione Stato Ritiro
18.2.x lts 2026-10-9
19.0.x lts 2027-10-9
19.1.x lts 2027-10-9
19.2.x attivo -

Aggiornamenti automatici delle immagini di base (ABIU)

Gli aggiornamenti automatici delle immagini di base (ABIU) sono una funzionalità che applica automaticamente le patch di sicurezza all'ambiente di runtime sottostante senza richiedere l'attivazione di un nuovo lancio dell'app.

Per impostazione predefinita, App Hosting attiva l'ABIU per i nuovi backend, con questi requisiti specifici:

  • Runtime con controllo delle versioni: per utilizzare ABIU, devi specificare un runtime con controllo delle versioni (ad esempio nodejs22 o nodejs24). App Hosting supporta le versioni di Node.js con numero pari, rispecchiando il supporto di Cloud Run.
  • Corrispondenza di package.json: la versione di Node selezionata per App Hosting deve essere compatibile con la versione specificata nel campo engines del file package.json. Se non c'è corrispondenza, si verificherà un errore in fase di build da Cloud Build. Ogni volta che modifichi il campo engines, assicurati di aggiornare il runtime del backend prima del deployment.

Disabilitazione di ABIU

Se vuoi disattivare l'ABIU, puoi farlo durante l'onboarding o selezionando "Non specificato" per il runtime nella console Firebase. Quando viene utilizzato un valore predefinito nodejs senza versione, l'ABIU viene disattivato automaticamente.

Gestione delle versioni di runtime

Puoi visualizzare e modificare la versione di runtime del backend e la preferenza ABIU in qualsiasi momento nella scheda Impostazioni della dashboard di App Hosting. Tuttavia, tieni presente che la modifica della versione di runtime potrebbe interrompere l'applicazione se la nuova versione non è compatibile con il tuo codice.

Le versioni del runtime raggiungono infine la fine del loro ciclo di vita del supporto. È importante mantenere aggiornati i runtime per evitare modifiche che provocano un errore:

  • Runtime ritirati: se il runtime scelto viene ritirato, l'applicazione continuerà generalmente a funzionare. Riceverai un avviso nella console e dovrai eseguire l'upgrade a una versione più recente il prima possibile. Per saperne di più, consulta la documentazione di Cloud Run sul ciclo di vita del runtime.
  • Runtime ritirati: i runtime ritirati non sono completamente supportati. Non potrai creare nuove build o nuovi backend utilizzando una versione ritirata e, se provi a farlo, verrà generato un errore di build. I deployment esistenti in esecuzione su versioni ritirate potrebbero smettere di funzionare e Cloud Run si riserva il diritto di eliminarli.

Per un elenco completo delle versioni di Node supportate, ritirate e dismesse, consulta la documentazione sul supporto del runtime Cloud Run. Per ulteriori dettagli tecnici sul funzionamento degli aggiornamenti automatici delle immagini di base, consulta la documentazione ABIU di Cloud Run.

Gestori di pacchetti

App Hosting utilizza Cloud Native Buildpacks per eseguire l'installazione delle dipendenze e creare l'app utilizzando npm, yarn o pnpm. Altri gestori di pacchetti come JSR non sono supportati.

NPM

  • NPM è il gestore di pacchetti predefinito.
  • Le dipendenze non di produzione vengono rimosse dopo il completamento della build.
  • Puoi specificare la sezione della versione npm utilizzando il campo engines.npm nel file package.json.

Filato

  • Yarn viene utilizzato quando includi il file yarn.lock nel progetto.
  • Puoi specificare la versione di yarn da utilizzare nel campo engines.yarn o packageManager del file package.json.
  • App Hosting supporta la modalità Yarn2 PnP.

Pnpm

  • Se includi il file pnpm-lock.yaml nel progetto, viene utilizzato pnpm.
  • Puoi specificare una versione di pnpm nel campo engines.pnpm o packageManager del file package.json.
  • Per un esempio funzionante, consulta l'app sample-node-pnpm.

Monorepository per App Hosting

App Hosting supporta le app monorepository Nx e Turborepo. Per istruzioni dettagliate, consulta Utilizza i monorepository con App Hosting.

Sono supportate le seguenti versioni di Nx:

Versione Stato Ritiro
20.8.x lts not before 2027-10-9

Se hai bisogno di assistenza per altri tipi di workspace monorepository, contattaci tramite Firebase UserVoice.