Começar a usar o SDK experimental do Dart

O suporte experimental ao Dart no Cloud Functions for Firebase permite criar apps de pilha completa com o Flutter e o Dart. Comunique-se com outros serviços do Firebase usando o novo SDK Admin do Firebase para Dart Firebase.

Para começar a usar as funções do Dart, siga as tarefas de configuração neste guia e continue explorando as funções HTTP e chamáveis do Dart.

Pré-requisitos

Verifique se você tem uma versão da CLI Firebase compatível com o Dart em Cloud Functions for Firebase com a flag --version:

 `firebase --version`

Ative o experimento na CLI do Firebase

firebase experiments:enable dartfunctions

Inicializar seu projeto

  1. Execução:

    firebase init functions
    
  2. Selecione Dart como seu idioma.

  3. Quando aparecer a pergunta "Do you want to install dependencies now?", responda "Yes".

Ver o código da função

Confira o código que foi gerado em functions/bin/server.dart (ou seu ponto de entrada). Este código demonstra uma função HTTP simples.

O exemplo de código define o número máximo de instâncias da função helloWorld como 10 com o construtor HttpsOptions. Saiba mais sobre as opções de ambiente de execução em Definir opções de ambiente de execução.

Testar localmente

firebase emulators:start

Depois que o Local Emulator Suite for inicializado, você vai encontrar uma linha de registro como functions http function initialized (http://127.0.0.1:5001/<url>). Carregue esse URL no navegador para chamar a função Dart emulada localmente.

Se você editar o código Dart, o Firebase Local Emulator Suite vai detectar a mudança e recarregar a função automaticamente.

Implantar

firebase deploy --only functions

O processo de implantação do Dart é diferente das funções do Node.js ou do Python. Em vez de fazer upload do código-fonte para ser criado em Cloud Build, a CLI Firebase executa uma etapa de compilação do Dart na máquina de desenvolvimento e faz upload do binário gerado diretamente para as funções do Cloud Run.

Quando a implantação for concluída, você vai encontrar uma linha de registro como Function URL (hello-world(us-central1)): https://hello-world-<random-hash>.<region>.run.app.

Carregue esse URL no navegador para chamar a função Dart recém-implantada.

Próximas etapas

Limitações

  • O gatilho onCall pode ser implantado, mas não pode ser chamado de SDKs do cliente com métodos como httpsCallable, que identificam funções pelo nome. Em vez disso, use métodos como httpsCallableFromURL e transmita o URL completo do Cloud Run da sua função.
  • Outros gatilhos, como os do Firestore, podem ser executados no pacote de emuladores locais, mas não podem ser implantados.
  • O console do Firebase não exibe funções do Dart durante a versão experimental. É possível conferir as funções do Dart na página de funções do Cloud Run do console do Cloud.

Se você encontrar problemas ao trabalhar com funções do Dart, envie um relatório à equipe para nos ajudar a melhorar e expandir o SDK experimental do Dart.