مقدمه‌ای بر Firebase Local Emulator Suite

‫Firebase Local Emulator Suite مجموعه‌ای از ابزارهای پیشرفته برای توسعه‌دهندگانی است که می‌خواهند بااستفاده از Cloud Firestore،‏ Realtime Database،‏ Cloud Storage for Firebase،‏ Authentication،‏ Firebase Hosting،‏ Cloud Functions (نسخه بتا)، Pub/Sub (نسخه بتا)، و Firebase Extensions (نسخه بتا) برنامه‌ها را به‌صورت محلی بسازند و آزمایش کنند. این پلاتفرم یک رابط کاربری غنی ارائه می‌دهد تا به شما کمک کند به‌سرعت اجرا و نمونه‌سازی کنید.

توسعه محلی با «مجموعه شبیه‌ساز محلی» می‌تواند برای گردش‌های کار ارزیابی، نمونه‌سازی اولیه، توسعه، و یکپارچه‌سازی مداوم شما مناسب باشد.

درحال افزودن «مجموعه شبیه‌ساز Firebase» به گردش‌های کاری توسعه شما.

قبل از شروع

پیش‌از اینکه «مجموعه شبیه‌ساز محلی Firebase» را کاوش کنید، توصیه می‌کنیم با محصولات Firebase و مدل توسعه Firebase آشنا شوید:

  • موضوعات شروع به کار با Firebase را برای پلاتفرم و محصولات خود بخوانید (Apple، Android یا وب).
  • برنامه شروع سریع آماده اجرا را در پلاتفرم انتخابی‌تان بارگیری کنید، سپس کد را بخوانید و اجرا کنید. برنامه شروع سریع FriendlyEats انتخاب خوبی است (iOS،‏ Android، یا وب).

Firebase Local Emulator Suite چیست؟

مجموعه شبیه‌ساز محلی Firebase از شبیه‌سازهای سرویس‌های مجزا تشکیل شده است که برای تقلید دقیق رفتار سرویس‌های Firebase ساخته شده‌اند. این یعنی می‌توانید برنامه‌تان را مستقیماً به این شبیه‌سازها متصل کنید تا آزمایش یکپارچه‌سازی یا تضمین کیفیت را بدون دست زدن به داده‌های تولید انجام دهید.

برای مثال، می‌توانید برنامه‌تان را به شبیه‌ساز Cloud Firestore متصل کنید تا اسناد را در آزمایش به‌طور ایمن بخوانید و بنویسید. این نوشتن‌ها ممکن است توابع را در شبیه‌ساز Cloud Functions راه‌اندازی کند. بااین‌حال، وقتی شبیه‌سازها دردسترس نباشند یا پیکربندی نشده باشند، برنامه شما همچنان با سرویس‌های Firebase تولید ارتباط برقرار می‌کند.

مجموعه شبیه‌ساز در گردش‌های کار محلی شما

گردش کار نمونه اولیه و آزمایشی شما می‌تواند به چند روش از «مجموعه شبیه‌ساز محلی» استفاده کند:

  • آزمون‌های واحد: بااستفاده از «کیت توسعه نرم‌افزار Firebase Test»، می‌توانید آزمون‌های واحد را در Node.js بااستفاده از دونده آزمون mocha بنویسید. «کیت توسعه نرم‌افزار آزمایشی» چندین روش راحت برای بار کردن «قوانین امنیتی»، پاک کردن پایگاه داده محلی بین آزمایش‌ها، و مدیریت تعامل همگام با شبیه‌سازها ارائه می‌دهد. این ابزار برای نوشتن آزمایش‌های ساده برای تعاملات پایگاه داده که به منطق برنامه شما وابسته نیستند عالی است.
  • آزمایش‌های یکپارچه‌سازی: هر شبیه‌ساز محصول به‌صورت جداگانه در «مجموعه شبیه‌ساز» به فراخوانی‌های کیت توسعه نرم‌افزار و REST API پاسخ می‌دهد، درست مانند سرویس‌های Firebase تولید. بنابراین می‌توانید از ابزارهای آزمایشی خودتان برای نوشتن آزمایش‌های ادغام مستقل که از Local Emulator Suite به‌عنوان پس‌بخش استفاده می‌کنند استفاده کنید.
  • آزمایش‌های دستی: می‌توانید برنامه درحال اجرای خود را به Local Emulator Suite متصل کنید تا برنامه Firebase خود را به‌صورت دستی آزمایش کنید، بدون اینکه داده‌های تولید را به‌خطر بیندازید یا پروژه آزمایشی پیکربندی کنید.
  • ارزیابی‌های محصول: می‌توانید Firebase Extensions را در محیط محلی امنی نصب و مدیریت کنید و ضمن به‌حداقل رساندن هزینه‌های صدور صورت‌حساب، قابلیت‌های آن‌ها را بهتر درک کنید.

کدام ویژگی‌ها و پلاتفرم‌های Firebase پشتیبانی می‌شوند؟

«مجموعه شبیه‌ساز محلی Firebase» به شما امکان می‌دهد کدتان را با محصولات اصلی ما به‌صورت تعاملی آزمایش کنید. شبیه‌ساز Cloud Functions از توابع HTTP، توابع قابل‌فراخوانی، و توابع پس‌زمینه راه‌اندازی‌شده توسط Cloud Firestore،‏ Realtime Database،‏ Cloud Storage for Firebase،‏ Authentication، و Pub/Sub پشتیبانی می‌کند. شبیه‌سازهای Cloud Firestore،‏ Realtime Database، و Cloud Storage for Firebase دارای شبیه‌سازی Firebase Security Rules داخلی هستند.

Cloud
Firestore
پایگاه داده
بی‌درنگ
فضای ذخیره‌سازی
ابری
ویژه Firebase
اصالت‌سنجی توابع
ابری
Cloud
Pub/Sub
افزونه‌ها
کیت توسعه نرم‌افزار Android نامربوط نامربوط
کیت توسعه نرم‌افزار iOS نامربوط نامربوط
کیت توسعه نرم‌افزار وب نامربوط نامربوط
Node.js Admin SDK نامربوط نامربوط

مراحل بعدی

ابزارهای دیگر برای نمونه‌سازی و آزمایش

«مجموعه شبیه‌ساز» با ابزارهای نمونه اولیه و آزمایش دیگر تکمیل می‌شود.

ابزارهای آزمایش Cloud Functions. محیط «واسط خط فرمان Firebase» چند روش برای نمونه‌سازی و آزمایش توابع دراختیارتان قرار می‌دهد:

  • شبیه‌ساز «توابع ابری»، بخشی از «مجموعه شبیه‌ساز». این شبیه‌ساز با داده‌های محلی و زنده و «قوانین امنیتی» در شبیه‌ساز Firestore و/یا شبیه‌ساز «پایگاه داده بی‌درنگ» هم‌کنش‌پذیر است.
  • پوسته Cloud Functions که امکان نمونه‌سازی و توسعه توابع تعاملی و تکراری را فراهم می‌کند. پوسته از شبیه‌ساز Cloud Functions با میانای سبک REPL برای توسعه استفاده می‌کند. هیچ یکپارچگی با شبیه‌سازهای Cloud Firestore یا Realtime Database ارائه نشده است. بااستفاده از پوسته، داده‌های ساختگی ایجاد می‌کنید و فراخوانی‌های تابع را برای شبیه‌سازی تعامل با محصولاتی که Local Emulator Suite درحال‌حاضر از آن‌ها پشتیبانی نمی‌کند انجام می‌دهید: Analytics، Remote Config، و Crashlytics.
  • کیت توسعه نرم‌افزار Firebase Test برای Cloud Functions، یک Node.js با چارچوب mocha برای توسعه توابع. درواقع، Cloud Functions Test SDK اتوماسیون را در بالای پوسته Cloud Functions ارائه می‌دهد.

می‌توانید اطلاعات بیشتری درباره پوسته Cloud Functions و Cloud Functions Test SDK در آزمایش کردن توابع به‌صورت تعاملی و آزمایش واحد Cloud Functions پیدا کنید.

ابزارهای آزمایش «قوانین امنیتی». «مجموعه شبیه‌ساز» مجموعه ابزار ترجیحی برای آزمایش «قوانین امنیتی» است. بااین‌حال، می‌توانید از موارد زیر نیز استفاده کنید:

  • The Rules Playground، بخشی از کنسول Firebase. «محیط آزمایشی قوانین» تجربه تعاملی عالی‌ای برای شروع کار با طراحی «قوانین امنیتی» ارائه می‌دهد. برای اطلاعات بیشتر، اعتبارسنجی سریع قوانین امنیتی Firebase را ببینید.