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

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

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

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

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

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

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

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

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

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

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

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

curl -sL firebase.tools | bash

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

firebase init

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

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

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

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

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

firebase emulators:start

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

  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. שימו לב למצב האמולטורים הזמינים. במקרה שלנו, פונקציות הענן ואמולטות מסד הנתונים בזמן אמת יפעלו.
    הדימוי שלי
  5. בממשק המשתמש, בכרטיסיית מסד זמן האמת, להשתמש בפקדי עורך תוכן מסד נתון כדי ליצור סדרה של צמתים עם messages הפיסקה המכילים message1 צומת, בתורו המכילים צומת עם סט מפתח original סט וערך test . זה מפעיל את פונקציית הענן שלנו. שים לב כי חדש uppercase רכוש מופיע זמן קצר, עם הערך TEST .
    הדימוי שליהדימוי שלי
  6. בדוק את הכרטיסייה יומנים לאשר הפונקציה שלך לא לרוץ inot טעויות כפי שהיא עדכנה את הנתונים.

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

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

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

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

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

דְמוּי אָדָם
        // 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);
iOS - סוויפט
    // In almost all cases the ns (namespace) is your project ID.
let db = Database.database(url:"http://localhost:9000?ns=YOUR_DATABASE_NAMESPACE")

אינטרנט v8

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

אינטרנט v9

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);
} 

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

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

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

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

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

מה הלאה?

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