پشتیبانی آزمایشی از Dart در Cloud Functions for Firebase به شما امکان میدهد برنامههای تمامپشته را با Flutter و Dart بسازید. بااستفاده از کیت توسعه نرمافزار جدید Firebase Admin Dart با دیگر سرویسهای Firebase ارتباط برقرار کنید.
برای شروع به کار با توابع Dart، وظایف راهاندازی را در این راهنما انجام دهید و سپس به کاوش توابع HTTP و فراخوان Dart ادامه دهید.
پیشنیازها
- کیت توسعه نرمافزار Dart نسخه ۳.۹ یا بالاتر
- Firebase CLI (نسخه ۱۵.۱۵.۰ یا بالاتر)
بررسی کنید که نسخه Firebase CLI که از Dart در
Cloud Functions for Firebase با پرچم --version پشتیبانی میکند را داشته باشید:
`firebase --version`
آزمایش را در Firebase CLI فعال کنید
firebase experiments:enable dartfunctions
پروژهتان را مقداردهی اولیه کنید
اجرا:
firebase init functionsDart را بهعنوان زبان انتخاب کنید.
وقتی از شما پرسیده شد «آیا میخواهید وابستگیها را اکنون نصب کنید؟»، پاسخ «بله» بدهید.
مشاهده کد تابع
کدی را که در functions/bin/server.dart (یا نقطه ورودی شما) تولید شده است مشاهده کنید. این کد یک تابع HTTP ساده را نشان میدهد.
توجه داشته باشید که مجموعه کد نمونه حداکثر تعداد نمونهها را برای تابع
helloWorld با سازنده HttpsOptions روی ۱۰ تنظیم میکند. در تنظیم گزینههای
زمان اجرا میتوانید درباره گزینههای زمان اجرا بیشتر بدانید.
آزمایش محلی
firebase emulators:start
پساز راهاندازی Local Emulator Suite، خط گزارش functions http function initialized
(http://127.0.0.1:5001/<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 خواهید دید
آن نشانی وب را در مرورگرتان بار کنید تا تابع Dart جدیداً مستقرشدهتان را فراخوانی کنید.
مراحل بعدی
- گزینههای پیکربندی مانند حداقل نمونه را تنظیم کنید.
- درباره توابع HTTP و توابع فراخواندنی بیشتر بدانید.
- codelab «توابع Dart» را دنبال کنید codelab «توابع Dart»
- از Dart Admin SDK آزمایشی برای تعامل با سرویسهای Firebase دیگر، مثل Cloud Firestore، از تابع خودتان استفاده کنید
- علاوهبر
onRequestتابع HTTP، میتوانیدonCallنمونه یاonCallنمونه با جاریسازی را امتحان کنید تا توابع را مستقیماً از برنامهتان فراخوانی کنید (با توجه به محدودیت ویژه درباره روش فراخوانی).
محدودیتها
- راهاندازی محرک
onCallامکانپذیر است، اما نمیتوان آن را از کیتهای توسعه نرمافزار مشتری با روشهایی مثل httpsCallable فراخوانی کرد، که توابع را براساس نام شناسایی میکنند. درعوض میتوانید از روشهایی مثل httpsCallableFromURL استفاده کنید و نشانی وب کامل Cloud Run تابع خود را ارسال کنید. - راهاندازهای دیگر، مثل راهاندازهای Firestore، میتوانند در مجموعه شبیهساز محلی اجرا شوند، اما نمیتوانند مستقر شوند.
- کنسول Firebase درطول انتشار آزمایشی، توابع Dart را نمایش نمیدهد. بهجای آن میتوانید توابع Dart را در صفحه Cloud Run توابع Cloud کنسول مشاهده کنید.
اگر هنگام کار با توابع Dart با مشکلاتی مواجه شدید، توصیه میشود گزارشی برای تیم ارسال کنید تا به ما در بهبود و گسترش «کیت توسعه نرمافزار Dart» آزمایشی کمک کنید.