Firebase Local Emulator Suite הוא אוסף של כלים מתקדמים למפתחים שרוצים ליצור ולבדוק אפליקציות באופן מקומי באמצעות Cloud Firestore, Realtime Database, Cloud Storage for Firebase, Authentication, Firebase Hosting, Cloud Functions (בטא), Pub/Sub (בטא) ו-Firebase Extensions (בטא). הוא כולל ממשק משתמש עשיר שעוזר לכם להתחיל לעבוד וליצור אב טיפוס במהירות.
פיתוח מקומי באמצעות Local Emulator Suite יכול להתאים לתהליכי העבודה שלכם בתחומים הבאים: הערכה, יצירת אב טיפוס, פיתוח ושילוב מתמשך.
לפני שמתחילים
לפני שמתחילים להשתמש ב-Firebase Local Emulator Suite, מומלץ להכיר את מוצרי Firebase ואת מודל הפיתוח של Firebase:
- קוראים את הנושאים במאמר תחילת העבודה עם Firebase שרלוונטיים לפלטפורמה ולמוצרים שלכם (Apple, Android או אינטרנט).
- מורידים אפליקציית מדריך למתחילים שמוכנה להפעלה בפלטפורמה הרצויה, ואז קוראים את הקוד ומריצים אותו. אפליקציית ההפעלה המהירה FriendlyEats היא בחירה טובה (iOS, Android או אינטרנט).
מה זה Firebase Local Emulator Suite?
חבילת הכלים לאמולטור מקומי ב-Firebase מורכבת מאמולטורים נפרדים של שירותים, שנועדו לחקות בצורה מדויקת את ההתנהגות של שירותי Firebase. המשמעות היא שאפשר לקשר את האפליקציה ישירות לאמולטורים האלה כדי לבצע בדיקות שילוב או בדיקות QA בלי לגעת בנתוני הייצור.
לדוגמה, אפשר לחבר את האפליקציה לאמולטור Cloud Firestore כדי לקרוא ולכתוב מסמכים בבטחה במהלך הבדיקה. פעולות הכתיבה האלה עשויות להפעיל פונקציות באמולטור Cloud Functions. עם זאת, האפליקציה שלכם תמשיך לתקשר עם שירותי הייצור של Firebase כשאין אפשרות להשתמש באמולטורים או כשהם לא מוגדרים.

חבילת Emulator Suite בתהליכי עבודה מקומיים
יש כמה דרכים להשתמש בחבילת הכלים לאמולטור מקומי בתהליך העבודה של אב הטיפוס והבדיקה:
- בדיקות יחידה: באמצעות Firebase Test SDK, אפשר לכתוב בדיקות יחידה ב-Node.js באמצעות mocha test runner. ערכת ה-SDK לבדיקה מספקת כמה שיטות נוחות לטעינת כללי אבטחה, לניקוי מסד הנתונים המקומי בין הבדיקות ולניהול אינטראקציה סינכרונית עם האמולטורים. הוא מצוין לכתיבת בדיקות פשוטות לאינטראקציות עם מסד נתונים שלא תלויות בלוגיקה של האפליקציה.
- בדיקות שילוב: כל אמולטור מוצר ב-Emulator Suite מגיב לקריאות ל-SDK ול-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 |
מסד נתונים בזמן אמת |
Cloud Storage for Firebase |
אימות | Cloud Functions |
Cloud Pub/Sub |
תוספים | |
|---|---|---|---|---|---|---|---|
| Android SDK | לא רלוונטי | לא רלוונטי | |||||
| iOS SDK | לא רלוונטי | לא רלוונטי | |||||
| Web SDK | לא רלוונטי | לא רלוונטי | |||||
| Node.js Admin SDK | לא רלוונטי | לא רלוונטי |
השלבים הבאים
איך מתחילים? במדריך המפורט Local Emulator Suite מוסבר איך ליצור אב טיפוס אופליין של מסד נתונים ושל Cloud Functions.
כלים אחרים ליצירת אב טיפוס ולבדיקה
בנוסף ל-Emulator Suite, יש עוד כלים ליצירת אב טיפוס ולבדיקה.
כלי בדיקה של Cloud Functions. סביבת Firebase CLI מספקת לכם כמה דרכים ליצור אב טיפוס ולבדוק פונקציות:
- האמולטור של Cloud Functions, שהוא חלק מחבילת האמולטורים. האמולטור הזה תואם לנתונים מקומיים בזמן אמת ולכללי אבטחה באמולטור של Firestore או באמולטור של Realtime Database.
- מעטפת Cloud Functions, שמאפשרת יצירת אב טיפוס ופיתוח של פונקציות אינטראקטיביות ואיטרטיביות. המעטפת משתמשת באמולטור של Cloud Functions עם ממשק בסגנון REPL לפיתוח. אין שילוב עם אמולטורים של Cloud Firestore או Realtime Database. באמצעות המעטפת, אפשר ליצור נתוני דמה ולבצע קריאות לפונקציות כדי לדמות אינטראקציה עם מוצרים שLocal Emulator Suite לא תומך בהם כרגע: Analytics, Remote Config ו-Crashlytics.
- Firebase Test SDK for Cloud Functions, Node.js עם מסגרת mocha לפיתוח פונקציות. למעשה, ה-SDK לבדיקה של Cloud Functions מספק אוטומציה מעל מעטפת Cloud Functions.
מידע נוסף על מעטפת Cloud Functions ועל Cloud Functions Test SDK זמין במאמרים בדיקת פונקציות באופן אינטראקטיבי ובדיקות יחידה של Cloud Functions.
כלים לבדיקת כללי אבטחה. חבילת כלי האמולטור היא ערכת הכלים המומלצת לבדיקת כללי אבטחה. אבל אפשר גם להשתמש ב:
- ארגז החול לכללים, שהוא חלק ממסוף Firebase. הארגז החול של הכללים מספק חוויה אינטראקטיבית מצוינת להתחלת העבודה עם תכנון כללי אבטחה. מידע נוסף זמין במאמר בנושא אימות מהיר של כללי האבטחה ב-Firebase.