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

לפני שאתם קופצים עם 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.firestore.document('/messages/{documentId}')
          .onCreate((snap, context) => {
            const original = snap.data().original;
            console.log('Uppercasing', context.params.documentId, original);
            const uppercase = original.toUpperCase();
            return snap.ref.set({uppercase}, {merge: true});
          });
      
  3. השקת חבילת Emulator המקומית עם firebase emulators:start . פונקציות הענן ואמולטורי מסד הנתונים מתחילים, מוגדרים אוטומטית לפעולה הדדית.
  4. להציג את ממשק המשתמש מהדפדפן ב http://localhost:4000 . יציאה 4000 היא ברירת המחדל עבור ממשק המשתמש, אך בדוק הודעות מסוף המופלטות על ידי Firebase CLI. שימו לב למצב האמולטורים הזמינים. במקרה שלנו, אמולטורי ה- Cloud Functions ו- Cloud Firestore יפעלו.
    הדימוי שלי
  5. בממשק המשתמש, בכרטיסייה Firestore, לחץ אוסף התחל ופעל בהתאם להנחיות כדי ליצור מסמך חדש בתוך messages אוסף, עם fieldname original וערך test . זה מפעיל את פונקציית הענן שלנו. שים לב כי חדש uppercase שדה מופיע זמן קצר, popluated עם המחרוזת "TEST".
    הדימוי שליהדימוי שלי
  6. בדוק את הכרטיסייה יומנים לאשר הפונקציה שלך לא נתקלים בשגיאות כפי שהיא עדכנה את הנתונים.

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

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

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

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

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

דְמוּי אָדָם
        // 10.0.2.2 is the special IP address to connect to the 'localhost' of
        // the host computer from an Android emulator.
        FirebaseFirestore firestore = FirebaseFirestore.getInstance();
        firestore.useEmulator("10.0.2.2", 8080);

        FirebaseFirestoreSettings settings = new FirebaseFirestoreSettings.Builder()
                .setPersistenceEnabled(false)
                .build();
        firestore.setFirestoreSettings(settings);
iOS - סוויפט
let settings = Firestore.firestore().settings
settings.host = "localhost:8080"
settings.isPersistenceEnabled = false 
settings.isSSLEnabled = false
Firestore.firestore().settings = settings

אינטרנט v8

// Firebase previously initialized using firebase.initializeApp().
var db = firebase.firestore();
if (location.hostname === "localhost") {
  db.useEmulator("localhost", 8080);
}

אינטרנט v9

import { getFirestore, connectFirestoreEmulator } from "firebase/firestore";

// firebaseApps previously initialized using initializeApp()
const db = getFirestore();
connectFirestoreEmulator(db, 'localhost', 8080);
אינטרנט
// Initialize your Web app as described in the Get started for Web
// Firebase previously initialized using firebase.initializeApp().
var db = firebase.firestore();
if (location.hostname === "localhost") {
  db.useEmulator("localhost", 8080);
}

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

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

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

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

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

מה הלאה?

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