Começar a usar o SDK experimental do Dart

Com a compatibilidade experimental do Dart no Cloud Functions for Firebase, é possível 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 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 de chamada do Dart.

Pré-requisitos

Verifique se você tem uma versão da CLI Firebase que oferece suporte ao Dart em Cloud Functions for Firebase com a flag --version:

 `firebase --version`

Ativar o experimento na CLI Firebase

firebase experiments:enable dartfunctions

Inicializar seu projeto

  1. Executar: bash firebase init functions
  2. Selecione Dart como seu idioma.
  3. Quando perguntado "Quer instalar as dependências agora?", responda "Sim".

Conferir o código da função

Confira o código 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 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

Quando o Local Emulator Suite for inicializado, você vai 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 Dart emulada localmente.

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

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 CLI Firebase executa uma etapa de compilação do Dart na sua 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 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 gatilho 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, 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 local, mas não podem ser implantados.
  • O console do Firebase não mostra funções do Dart durante o lançamento experimental. Em vez disso, consulte as funções do Dart na página de funções do console do Cloud.Cloud Run

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