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 SDK de Dart para Admin de Firebase.
Para comenzar a usar las funciones de Dart, realiza las tareas de configuración de esta guía y, luego, sigue explorando las funciones de HTTP y las funciones que admiten llamadas de Dart.
Requisitos previos
- SDK de Dart 3.9 o una versión posterior
- 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í".
Visualiza el código de tu función
Visualiza el código que se generó en functions/bin/server.dart (o 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 la
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 tu función automáticamente.
Implementar
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 HTTP y las funciones que admiten llamadas.
- Sigue el codelab de funciones de Dart Codelab de funciones de Dart
- Usa el SDK de Dart para Admin SDK experimental 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 una muestra deonCallo una muestra 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 SDK de cliente con métodos como httpsCallable, que identifican las funciones por 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 paquete de emuladores local, pero no se pueden implementar.
- La consola de Firebase no muestra las 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 de Dart experimental.