Il supporto sperimentale di Dart in Cloud Functions for Firebase ti consente di creare app full-stack con Flutter e Dart. Comunica con altri servizi Firebase con il nuovo Firebase Admin Dart SDK.
Per iniziare a utilizzare le funzioni Dart, segui le attività di configurazione descritte in questa guida e poi continua a esplorare le funzioni HTTP e richiamabili di Dart.
Prerequisiti
- SDK Dart 3.9 o versioni successive
- Firebase CLI (versione 15.15.0 o successive)
Verifica di avere una versione di Firebase CLI che supporti Dart in
Cloud Functions for Firebase con il flag --version:
`firebase --version`
Attiva l'esperimento in Firebase CLI
firebase experiments:enable dartfunctions
Inizializza il progetto
- Esegui:
bash firebase init functions - Seleziona Dart come lingua.
- Quando ti viene chiesto "Do you want to install dependencies now?", rispondi "Yes".
Visualizza il codice della funzione
Visualizza il codice generato in functions/bin/server.dart (o nel punto di ingresso). Questo codice mostra una semplice funzione HTTP.
Tieni presente che il codice campione imposta il numero massimo di istanze per la funzione helloWorld su 10 con il costruttore HttpsOptions. Puoi scoprire
di più sulle opzioni di runtime in Impostare le opzioni di runtime.
Prova localmente
firebase emulators:start
Una volta avviata la Local Emulator Suite, vedrai una
riga di log simile a functions http function initialized
(http://127.0.0.1:5001/<url>). Carica questo URL nel browser per chiamare la funzione Dart emulata localmente.
Se modifichi il codice Dart, il Firebase Local Emulator Suite rileverà la modifica e ricaricherà automaticamente la funzione.
Esegui il deployment
firebase deploy --only functions
La procedura di deployment per Dart è diversa da quella per le funzioni Node.js o Python. Anziché caricare il codice sorgente da compilare in Cloud Build, la Firebase CLI esegue un passaggio di compilazione Dart sulla macchina di sviluppo e carica il file binario generato direttamente in Cloud Run Functions.
Al termine del deployment, vedrai una riga di log simile a Function URL
(hello-world(us-central1)): https://hello-world-<random-hash>.<region>.run.app
Carica questo URL nel browser per chiamare la funzione Dart appena sottoposta a deployment.
Passaggi successivi
- Imposta le opzioni di configurazione come il numero minimo di istanze.
- Scopri di più sulle funzioni HTTP e sulle funzioni richiamabili.
- Segui il codelab sulle funzioni Dart Codelab sulle funzioni Dart
- Utilizza l'SDK Dart Admin SDK sperimentale per interagire con altri servizi Firebase, come Cloud Firestore, dalla tua funzione
- Oltre alle funzioni HTTP
onRequest, puoi provare unonCallesempio oonCallcon lo streaming esempio per chiamare le funzioni direttamente dalla tua app (tenendo presente la limitazione speciale relativa al metodo di chiamata).
Limitazioni
- Il trigger
onCallpuò essere sottoposto a deployment, ma non può essere chiamato dagli SDK client con metodi come httpsCallable, che identificano le funzioni per nome. In alternativa, puoi utilizzare metodi come httpsCallableFromURL e passare l'URL Cloud Run completo della funzione. - Altri trigger, come i trigger Firestore, possono essere eseguiti nella Local Emulator Suite, ma non possono essere sottoposti a deployment.
- Durante la release sperimentale, la Firebase console non mostra le funzioni Dart. Puoi visualizzare le funzioni Dart nella Cloud Run pagina funzioni della Cloud console invece.
Se riscontri problemi durante l'utilizzo delle funzioni Dart, ti invitiamo a inviare un report al team per aiutarci a migliorare ed espandere l'SDK Dart sperimentale.