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

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í".

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

Limitaciones

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