Comienza a usar el SDK de Dart experimental

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

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

  1. Ejecución:

    firebase init functions
    
  2. Selecciona Dart como tu lenguaje.

  3. 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

Limitaciones

  • El activador onCall se 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.