Começar a usar o SDK experimental do Dart

O suporte experimental do 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 Firebase SDK Admin do Firebase para Dart.

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 Firebase CLI que oferece suporte ao Dart em Cloud Functions for Firebase com a flag --version:

 `firebase --version`

Ativar o experimento na Firebase CLI

firebase experiments:enable dartfunctions

Inicializar seu projeto

  1. Execução:

    firebase init functions
    
  2. Selecione o Dart como seu idioma.

  3. Quando perguntado "Do you want to install dependencies now?", responda "Yes".

Conferir o código da função

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

O exemplo de código define o número máximo de instâncias para a 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ê verá 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 do Dart emulada localmente.

Se você editar o código do 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 Python. Em vez de fazer upload do código-fonte para ser criado em Cloud Build, a Firebase CLI 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 Cloud Run.

Quando a implantação estiver concluída, você verá 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 do Dart recém-implantada.

Próximas etapas

Limitações

  • O acionador onCall pode ser implantado, mas não pode ser chamado de SDKs do cliente com métodos como httpsCallable, que identificam funções por nome. Em vez disso, você pode usar métodos como httpsCallableFromURL e transmitir o URL completo do Cloud Run da sua função.
  • Outros acionadores, como os do Firestore, podem ser executados no local emulator suite, mas não podem ser implantados.
  • O console Firebase não mostra as funções do Dart durante a versão experimental. Em vez disso, é possível conferir as funções do Dart na Cloud Run página de funções do Cloud console.

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