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 para Dart.
Para comenzar a usar las funciones de Dart, realiza las tareas de configuración de esta guía y, luego, continúa explorando las funciones de HTTP y las funciones que admiten llamadas de Dart.
Requisitos previos
- SDK de Dart 3.9 o versiones posteriores
- Firebase CLI (versión 15.15.0 o versiones posteriores)
Verifica que tengas una versión de la Firebase CLI que admita Dart en
Cloud Functions for Firebase con la marca --version flag:
`firebase --version`
Habilita el experimento en la Firebase CLI
firebase experiments:enable dartfunctions
Inicializa el proyecto
- Ejecuta:
bash firebase init functions - Selecciona Dart como tu lenguaje.
- Cuando se te pregunte "¿Quieres instalar 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 muestra 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 de entorno de ejecución en Establece opciones de 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, el 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 para Dart es diferente de las funciones de Node.js o Python. En lugar de subir tu código fuente para compilarlo en Cloud Build, la Firebase CLI ejecuta un paso de compilación de Dart en tu máquina de desarrollo y sube el objeto binario generado directamente a Cloud Run functions.
Cuando la implementación esté completa, 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 tu función de Dart recién implementada.
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 admiten llamadas.
- Sigue el codelab de funciones de Dart Dart Functions codelab.
- Usa el experimental Admin SDK para interactuar con otros Firebase servicios, como Cloud Firestore, desde tu función.
- Además de las funciones de HTTP
onRequest, puedes probar una muestra deonCalloonCallcon una muestra de 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
- Se puede implementar el activación
onCall, pero no se puede llamar desde los SDK de cliente con métodos como httpsCallable, que identifican funciones por nombre. En su lugar, puedes usar métodos como httpsCallableFromURL y pasar la URL completa de Cloud Run de tu función. - Se pueden ejecutar otros activadores, como los activadores de Firestore, 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 Cloud Run página de funciones de la Cloud consola.
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.