Начните работу с экспериментальным SDK Dart.

Экспериментальная поддержка Dart в Cloud Functions for Firebase позволяет создавать полнофункциональные приложения с использованием Flutter и Dart. Взаимодействуйте с другими сервисами Firebase с помощью нового Firebase Admin Dart SDK.

Чтобы начать работу с функциями Dart, выполните задачи по настройке, описанные в этом руководстве, а затем продолжите изучение HTTP-функций и вызываемых функций Dart.

Предварительные требования

Убедитесь, что у вас установлена ​​версия Firebase CLI, поддерживающая Dart в Cloud Functions for Firebase используя флаг --version :

 `firebase --version`

Включите эксперимент в Firebase CLI.

firebase experiments:enable dartfunctions

Инициализируйте свой проект

  1. Выполнить: bash firebase init functions
  2. Выберите Dart в качестве языка программирования.
  3. На вопрос "Хотите ли вы установить зависимости сейчас?" ответьте "Да".

Просмотрите код вашей функции

Просмотрите код, сгенерированный в functions/bin/server.dart (или в вашей точке входа). Этот код демонстрирует простую HTTP-функцию.

Обратите внимание, что в приведенном примере кода максимальное количество экземпляров функции helloWorld устанавливается равным 10 с помощью конструктора HttpsOptions . Подробнее о параметрах выполнения можно узнать в разделе «Установка параметров выполнения» .

Протестируйте локально.

firebase emulators:start

После Local Emulator Suite вы увидите строку в логе, например, functions http function initialized (http://127.0.0.1:5001/<url>) . Загрузите этот URL в свой браузер, чтобы вызвать локально эмулируемую функцию Dart.

Если вы отредактируете свой код Dart, Firebase Local Emulator Suite обнаружит изменение и автоматически перезагрузит вашу функцию.

Развертывать

firebase deploy --only functions

Процесс развертывания Dart отличается от развертывания функций Node.js или Python. Вместо загрузки исходного кода для сборки в Cloud Build , Firebase CLI запускает этап компиляции Dart на вашей машине разработки и загружает сгенерированный бинарный файл непосредственно в функции Cloud Run .

После завершения развертывания вы увидите строку в логе, похожую на Function URL (hello-world(us-central1)): https://hello-world-<random-hash>.<region>.run.app

Загрузите этот URL-адрес в свой браузер, чтобы вызвать только что развернутую функцию Dart.

Следующие шаги

Ограничения

  • Триггер onCall можно развернуть, но его нельзя вызвать из клиентских SDK с помощью таких методов, как httpsCallable , которые идентифицируют функции по имени. Вместо этого можно использовать такие методы, как httpsCallableFromURL , и передать полный URL-адрес Cloud Run вашей функции.
  • Другие триггеры, например, триггеры Firestore, могут запускаться в локальном эмуляторе, но не могут быть развернуты.
  • В экспериментальной версии консоли Firebase функции Dart не отображаются. Вместо этого вы можете просмотреть функции Dart на странице «Функции Cloud Run в консоли Cloud .

Если вы обнаружите проблемы при работе с функциями Dart, просим вас отправить отчет команде , чтобы помочь нам улучшить и расширить экспериментальный SDK Dart.