با Dart SDK آزمایشی شروع کنید

پشتیبانی آزمایشی از Dart در Cloud Functions for Firebase به شما امکان می‌دهد برنامه‌های فول‌استک را با Flutter و Dart بسازید. با Firebase Admin Dart SDK جدید با سایر سرویس‌های Firebase ارتباط برقرار کنید.

برای شروع کار با توابع Dart، مراحل راه‌اندازی در این راهنما را انجام دهید و سپس به بررسی Dart HTTP و توابع قابل فراخوانی ادامه دهید.

پیش‌نیازها

بررسی کنید که آیا نسخه‌ای از Firebase CLI دارید که از Dart در Cloud Functions for Firebase با پرچم --version پشتیبانی می‌کند:

 `firebase --version`

فعال کردن آزمایش در Firebase CLI

firebase experiments:enable dartfunctions

پروژه خود را اولیه کنید

  1. اجرا کنید: bash firebase init functions
  2. دارت را به عنوان زبان خود انتخاب کنید.
  3. وقتی از شما پرسیده شد «آیا می‌خواهید الان وابستگی‌ها را نصب کنید؟»، پاسخ «بله» را بدهید.

کد تابع خود را مشاهده کنید

کدی را که در functions/bin/server.dart (یا محل ورود فایل خودتان) تولید شده است، مشاهده کنید. این کد یک تابع HTTP ساده را نشان می‌دهد.

توجه داشته باشید که کد نمونه، حداکثر تعداد نمونه‌ها برای تابع helloWorld را با استفاده از سازنده HttpsOptions روی 10 تنظیم می‌کند. می‌توانید در بخش «تنظیم گزینه‌های زمان اجرا» درباره گزینه‌های زمان اجرا بیشتر بدانید.

تست به صورت محلی

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

فرآیند استقرار برای دارت با توابع Node.js یا Python متفاوت است. به جای آپلود کد منبع خود برای ساخته شدن در Cloud Build ، رابط خط فرمان Firebase یک مرحله کامپایل 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 در طول انتشار آزمایشی، توابع دارت را نمایش نمی‌دهد. در عوض، می‌توانید توابع دارت را در صفحه توابع Cloud Run کنسول Cloud مشاهده کنید.

اگر هنگام کار با توابع Dart با مشکلاتی مواجه شدید، توصیه می‌شود گزارشی را برای تیم ارسال کنید تا به ما در بهبود و گسترش SDK آزمایشی Dart کمک کند.