Pierwsze kroki z eksperymentalnym pakietem Dart SDK

Eksperymentalna obsługa języka Dart w Cloud Functions for Firebase umożliwia tworzenie aplikacji pełnostosowych za pomocą Fluttera i Darta. Komunikuj się z innymi usługami Firebase za pomocą nowego Firebase Admin Dart SDK.

Aby rozpocząć korzystanie z funkcji Dart, wykonaj zadania konfiguracyjne opisane w tym przewodniku, a następnie zapoznaj się z funkcjami HTTP i wywoływalnymi funkcjami Dart.

Wymagania wstępne

Sprawdź, czy masz wersję Firebase CLI, która obsługuje język Dart w Cloud Functions for Firebase używając flagi --version:

 `firebase --version`

Włączanie eksperymentu w Firebase CLI

firebase experiments:enable dartfunctions

Zainicjuj projekt

  1. Uruchom: bash firebase init functions
  2. Jako język wybierz Dart.
  3. Na pytanie „Do you want to install dependencies now?” (Czy chcesz teraz zainstalować zależności?) odpowiedz „Yes” (Tak).

Wyświetlanie kodu funkcji

Wyświetl kod wygenerowany w functions/bin/server.dart (lub w punkcie wejścia). Ten kod przedstawia prostą funkcję HTTP.

Pamiętaj, że przykładowy kod ustawia maksymalną liczbę instancji funkcji helloWorld na 10 za pomocą konstruktora HttpsOptions. Więcej informacji o opcjach środowiska wykonawczego znajdziesz w artykule Ustawianie opcji środowiska wykonawczego.

Testowanie lokalne

firebase emulators:start

Po uruchomieniu Local Emulator Suite zobaczysz wiersz dziennika podobny do tego: functions http function initialized (http://127.0.0.1:5001/<url>). Załaduj ten adres URL w przeglądarce, aby wywołać lokalnie emulowaną funkcję Dart.

Jeśli edytujesz kod Dart, Firebase Local Emulator Suite wykryje zmianę i automatycznie ponownie załaduje funkcję.

Wdróż

firebase deploy --only functions

Proces wdrażania języka Dart różni się od procesu wdrażania funkcji Node.js lub Python. Zamiast przesyłać kod źródłowy do skompilowania w Cloud Build, Firebase CLI uruchamia krok kompilacji Dart na komputerze używanym do programowania i przesyła wygenerowany plik binarny bezpośrednio do Cloud Run Funkcji.

Po zakończeniu wdrażania zobaczysz wiersz dziennika podobny do tego: Function URL (hello-world(us-central1)): https://hello-world-<random-hash>.<region>.run.app

Załaduj ten adres URL w przeglądarce, aby wywołać nowo wdrożoną funkcję Dart.

Dalsze kroki

Ograniczenia

  • Aktywator onCall można wdrożyć, ale nie można go wywołać z pakietów SDK klienta za pomocą metod takich jak httpsCallable, które identyfikują funkcje według nazwy. Zamiast tego możesz użyć metod takich jak httpsCallableFromURL i przekazać pełny adres URL Cloud Run funkcji.
  • Inne aktywatory, takie jak aktywatory Firestore, można uruchamiać w pakiecie Local Emulator Suite, ale nie można ich wdrożyć.
  • W wersji eksperymentalnej Konsola Firebase nie wyświetla funkcji Dart. Zamiast tego możesz wyświetlać funkcje Dart na stronie funkcji Cloud Run w Cloud konsoli.

Jeśli podczas pracy z funkcjami Dart napotkasz problemy, zachęcamy do przesłania zespołowi raportu aby pomóc nam ulepszyć i rozwinąć eksperymentalny pakiet Dart SDK.