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
- SDK do Dart 3.9 ou mais recente
- CLI Firebase (versão 15.15.0 ou mais recente)
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
- Executar:
bash firebase init functions - Selecione Dart como seu idioma.
- 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
- Defina opções de configuração, como o número mínimo de instâncias.
- Saiba mais sobre funções HTTP e funções de chamada.
- Siga o codelab do Dart Functions Dart Functions codelab
- Use o Dart Admin SDK experimental para interagir com outros serviços do Firebase, como o Cloud Firestore, na sua função.
- Além das funções HTTP
onRequest, você pode testar um exemplo deonCallou um exemplo deonCallcom streaming para chamar funções diretamente do seu app (observando a limitação especial em relação ao método de chamada).
Limitações
- O gatilho
onCallpode 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.