La compatibilidad experimental con Dart en Cloud Functions for Firebase te permite compilar apps de pila completa con Flutter y Dart. Comunícate con otros servicios de Firebase con el nuevo Firebase SDK de Admin de Dart.
Para comenzar a usar las funciones de Dart, realiza las tareas de configuración que se indican en esta guía y, luego, sigue explorando las funciones de HTTP y las funciones invocables de Dart.
Requisitos previos
- SDK de Dart 3.9 o versiones posteriores
- Firebase CLI (versión 15.15.0 o posterior)
Verifica que tengas una versión de la CLI de Firebase que admita Dart en Cloud Functions for Firebase con la marca --version:
`firebase --version`
Habilita el experimento en la CLI de Firebase
firebase experiments:enable dartfunctions
Inicializa el proyecto
Ejecución:
firebase init functionsSelecciona Dart como tu lenguaje.
Cuando se te pregunte "¿Quieres instalar las dependencias ahora?", responde "Sí".
Cómo ver el código de tu función
Visualiza el código que se generó en functions/bin/server.dart (o en tu punto de entrada). Este código demuestra una función de HTTP simple.
Ten en cuenta que el código de muestra establece la cantidad máxima de instancias para la función helloWorld en 10 con el constructor HttpsOptions. Puedes obtener más información sobre las opciones del entorno de ejecución en Configura las opciones del entorno de ejecución.
Realiza pruebas locales
firebase emulators:start
Una vez que se inicie Local Emulator Suite, verás una línea de registro como functions http function initialized
(http://127.0.0.1:5001/<url>). Carga esa URL en tu navegador para llamar a tu función de Dart emulada de forma local.
Si editas tu código de Dart, Firebase Local Emulator Suite detectará el cambio y volverá a cargar automáticamente tu función.
Realiza la implementación
firebase deploy --only functions
El proceso de implementación de Dart es diferente del de las funciones de Node.js o Python. En lugar de subir tu código fuente para que se compile en Cloud Build, la CLI de Firebase ejecuta un paso de compilación de Dart en tu máquina de desarrollo y sube el objeto binario generado directamente a las funciones de Cloud Run.
Cuando se complete la implementación, verás una línea de registro como Function URL
(hello-world(us-central1)): https://hello-world-<random-hash>.<region>.run.app.
Carga esa URL en tu navegador para llamar a la función de Dart que acabas de implementar.
Próximos pasos
- Establece opciones de configuración, como la cantidad mínima de instancias.
- Obtén más información sobre las funciones de HTTP y las funciones que se pueden llamar.
- Sigue el codelab de Dart Functions Codelab de Dart Functions
- Usa el Admin SDK experimental de Dart para interactuar con otros servicios de Firebase, como Cloud Firestore, desde tu función.
- Además de las funciones de HTTP de
onRequest, puedes probar un ejemplo deonCallo un ejemplo deonCallcon transmisión para llamar a funciones directamente desde tu app (ten en cuenta la limitación especial con respecto al método de llamada).
Limitaciones
- El activador
onCallse puede implementar, pero no se puede llamar desde los SDKs de cliente con métodos como httpsCallable, que identifican las funciones por su nombre. En su lugar, puedes usar métodos como httpsCallableFromURL y pasar la URL completa de Cloud Run de tu función. - Otros activadores, como los de Firestore, se pueden ejecutar en el conjunto de emuladores locales, pero no se pueden implementar.
- La consola de Firebase no muestra funciones de Dart durante la versión experimental. En su lugar, puedes ver las funciones de Dart en la página de funciones de Cloud Run de la consola de Cloud.
Si descubres problemas mientras trabajas con funciones de Dart, te recomendamos que envíes un informe al equipo para ayudarnos a mejorar y expandir el SDK experimental de Dart.