חבר את האפליקציה שלך והתחל לבצע טיפוס

לפני שאתם קופצים עם Firebase המקומי Emulator Suite, לוודא שאתה יצרת פרויקט Firebase, להגדיר את סביבת הפיתוח שלך, ואת נבחרת והתקנת Firebase ערכות פיתוח תוכנה עבור הפלטפורמה שלך לפי תחילת עבודה עם נושאי Firebase לפלטפורמה שלך: אפל , אנדרואיד או אינטרנט .

אב טיפוס ובדיקה

סוויטת Emulator המקומית מכילה אמולטורים מוצר מספר, כמתואר מבוא Firebase המקומי Emulator Suite . אתה יכול ליצור אבטיפוס ולבדוק עם אמולטורים בודדים כמו גם שילובים של אמולטורים, כראות עיניך, בהתאם למוצרי Firebase שבהם אתה משתמש בייצור.

אינטראקציה בין Firebase dstabase ואמולטורים של פונקציות
אמולטורים מסד ותפקידי ענן כחלק Suite Emulator המקומי המלא .

לנושא זה, כדי להציג את זרימת העבודה של Local Emulator Suite, נניח שאתה עובד על אפליקציה שמשתמשת בשילוב אופייני של מוצרים: מסד נתונים של Firebase ופונקציות ענן המופעלות על ידי פעולות על מסד נתונים זה.

לאחר אתחול מקומי של פרויקט Firebase, מחזור הפיתוח באמצעות Local Emulator Suite יכלול בדרך כלל שלושה שלבים:

  1. אב-טיפוס כולל באופן אינטראקטיבי עם האמולטורים וממשק המשתמש של Emulator Suite.

  2. אם אתה משתמש באמולטור מסד נתונים או באמולטור Cloud Functions, בצע שלב חד פעמי כדי לחבר את האפליקציה שלך לאמולטורים.

  3. הפוך את הבדיקות שלך לאוטומטיות עם האמולטורים והתסריטים המותאמים אישית.

אתחול פרויקט Firebase באופן מקומי

ודא שאתה להתקין את CLI או עדכון לגרסה האחרונה שלה .

curl -sL firebase.tools | bash

אם עדיין לא עשית זאת, לאתחל את ספריית העבודה הנוכחית כפרויקט Firebase, בעקבות המסך ההנחיות כדי לציין שאתה משתמש פונקציות ענן ואו ענן Firestore או זמן אמת Database:

firebase init

ספריית הפרויקט שלך תהיה עכשיו המכילה קבצי תצורה Firebase, קובץ הגדרות כללי אבטחת Firebase עבור מסד נתון, A functions קוד פונקציות ענן המכיל ספרייה, וקבצי תמיכה אחרים.

אב טיפוס באופן אינטראקטיבי

Local Emulator Suite נועדה לאפשר לך להשתמש במהירות באב-טיפוס של תכונות חדשות, וממשק המשתמש המובנה של הסוויטה הוא אחד מכלי האב-טיפוס השימושיים ביותר שלה. זה קצת כמו שקונסולת Firebase פועלת באופן מקומי.

באמצעות ממשק המשתמש של Emulator Suite, אתה יכול לחזור על העיצוב של מסד נתונים, לנסות זרימות נתונים שונות הכוללות פונקציות ענן, להעריך שינויים בכללי אבטחה, לבדוק יומנים כדי לאשר את ביצועי השירותים האחוריים שלך ועוד. לאחר מכן, אם אתה רוצה להתחיל מחדש, פשוט נקה את מסד הנתונים שלך והתחיל מחדש עם רעיון עיצוב חדש.

הכל זמין כשאתה מפעיל את חבילת האמולטור המקומי עם:

firebase emulators:start

כדי להגדיר אב טיפוס של האפליקציה ההיפותטית שלנו, בואו נגדיר ונבדוק פונקציית ענן בסיסית לשינוי ערכי טקסט במסד נתונים, וגם ניצור וגם לאכלס את מסד הנתונים הזה בממשק המשתמש של Emulator Suite כדי להפעיל אותו.

  1. צור פונקצית ענן מופעלת על ידי כותב נתון על ידי עריכת functions/index.js הקובץ בספריית הפרויקט שלך. החלף את תוכן הקובץ הקיים בקטע הבא. מאזין פונקציה זו עבור שינויי צומת messages ההיררכיה, ממיר את התוכן של הצומת original נכס רישיות, וחנויות את התוצאה של אותו צומת uppercase הרכוש.
  2.   const functions = require('firebase-functions');
    
      exports.makeUppercase = functions.database.ref('/messages/{pushId}/original')
          .onCreate((snapshot, context) => {
            const original = snapshot.val();
            console.log('Uppercasing', context.params.pushId, original);
            const uppercase = original.toUpperCase();
            return snapshot.ref.parent.child('uppercase').set(uppercase);
          });
      
  3. השקת חבילת Emulator המקומית עם firebase emulators:start . פונקציות הענן ואמולטורים של מסד הנתונים מתחילים, מוגדרים אוטומטית לפעולה הדדית.
  4. להציג את ממשק המשתמש מהדפדפן ב http://localhost:4000 . יציאה 4000 היא ברירת המחדל עבור ממשק המשתמש, אך בדוק את הודעות המסוף שיוצאות מ-Firebase CLI. שימו לב לסטטוס של אמולטורים זמינים. במקרה שלנו, האמולטורים של Cloud Functions ו- Realtime Database יפעלו.
    התמונה שלי
  5. בממשק המשתמש, בכרטיסיית מסד זמן האמת, להשתמש בפקדי עורך תוכן מסד נתון כדי ליצור סדרה של צמתים עם messages הפיסקה המכילים message1 צומת, בתורו המכילים צומת עם סט מפתח original סט וערך test . זה מפעיל את פונקציית הענן שלנו. שים לב כי חדש uppercase רכוש מופיע זמן קצר, עם הערך TEST .
    התמונה שליהתמונה שלי
  6. בדוק את הכרטיסייה יומנים לאשר הפונקציה שלך לא לרוץ inot טעויות כפי שהיא עדכנה את הנתונים.

אתה יכול לעבור בקלות בין קוד פונקציית הענן שלך לבין עריכות מסד נתונים אינטראקטיביות עד שתקבל את זרימת הנתונים שאתה מחפש, מבלי לגעת בקוד הגישה למסד הנתונים בתוך האפליקציה, להדר מחדש ולהריץ מחדש חבילות בדיקה.

חבר את האפליקציה שלך לאמולטורים

לאחר שהתקדמת היטב עם יצירת אב טיפוס אינטראקטיבי והסתפקת בעיצוב, תהיה מוכן להוסיף קוד גישה למסד נתונים לאפליקציה שלך באמצעות ה-SDK המתאים. תוכל להמשיך להשתמש בכרטיסיית מסד הנתונים, עבור פונקציות, כרטיסיית היומנים ב Emulator Suite UI לאשר כי ההתנהגות של האפליקציה שלך היא נכונה.

זכור ש- Local Emulator Suite הוא כלי פיתוח מקומי. כתיבה לבסיסי הנתונים של הייצור שלך לא תפעיל פונקציות שאתה מייצר אב טיפוס מקומי.

כדי לעבור לאפשרות שהאפליקציה שלך תכתוב כתיבה למסד הנתונים, תצטרך להפנות את שיעורי המבחן או את התצורה בתוך האפליקציה לאמולטור Realtime Database.

דְמוּי אָדָם
        // 10.0.2.2 is the special IP address to connect to the 'localhost' of
        // the host computer from an Android emulator.
        FirebaseDatabase database = FirebaseDatabase.getInstance();
        database.useEmulator("10.0.2.2", 9000);
מָהִיר
    // In almost all cases the ns (namespace) is your project ID.
let db = Database.database(url:"http://localhost:9000?ns=YOUR_DATABASE_NAMESPACE")

גרסת אינטרנט 9

import { getDatabase, connectDatabaseEmulator } from "firebase/database";

const db = getDatabase();
if (location.hostname === "localhost") {
  // Point to the RTDB emulator running on localhost.
  connectDatabaseEmulator(db, "localhost", 9000);
} 

גרסת אינטרנט 8

var db = firebase.database();
if (location.hostname === "localhost") {
  // Point to the RTDB emulator running on localhost.
  db.useEmulator("localhost", 9000);
} 

הפוך את הבדיקות שלך לאוטומטיות עם סקריפטים מותאמים אישית

עכשיו לשלב זרימת העבודה הכוללת האחרונה. לאחר שיצרת אב טיפוס של התכונה שלך בתוך האפליקציה והיא נראית מבטיחה בכל הפלטפורמות שלך, תוכל לפנות ליישום ובדיקה סופית. עבור בדיקות יחידה CI זרימות עבודה, אתה יכול להתחיל אמולטורים, להריץ בדיקות תסריט, וכבה אמולטורים בשיחת יחיד עם exec הפקודה:

firebase emulators:exec "./testdir/test.sh"

חקור אמולטורים בודדים יותר לעומק

כעת, לאחר שראית כיצד נראה זרימת העבודה הבסיסית בצד הלקוח, תוכל להמשיך בפרטים על האמולטורים הבודדים בסוויטה, כולל אופן השימוש בהם לפיתוח אפליקציות בצד השרת:

מה הלאה?

הקפד לקרוא את הנושאים הקשורים לאמולטורים ספציפיים המקושרים לעיל. לאחר מכן: