Check out what’s new from Firebase@ Google I/O 2021, and join our alpha program for early access to the new Remote Config personalization feature. Learn more

למידע נוסף על אינטרנט ו- Firebase

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

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

גרסאות SDK 8 ו -9

Firebase מספק שתי גרסאות SDK לאפליקציות אינטרנט, אחת מהן נמצאת כעת בטא:

  • גרסה 8. זהו ממשק JavaScript שקיימת Firebase במשך מספר שנים ומוכר למפתחי אתרים עם אפליקציות Firebase קיימות.
  • גרסה מודולרית 9 (בטא) . SDK זה מציג גישה מודולרית המספקת גודל SDK מופחת ויעילות רבה יותר בעזרת כלים לבניית JavaScript מודרניים כמו Webpack או Rollup .

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

למרות שרוב גרסת ה- SDK 9 עוקבת אחר אותם דפוסים כמו גרסה 8, ארגון הקוד שונה. בדרך כלל, גרסה 8 מכוונת למרחב שמות ולדפוס שירות, ואילו גרסה 9 מכוונת לפונקציות נפרדות. לדוגמה, גרסה 8 של Dot-שרשור, כגון firebaseApp.auth() , מוחלפת בגירסה 9 על ידי יחיד getAuth() פונקציה שלוקחת firebaseApp וחוזר מופע אימות.

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

מה נתמך?

אמנם גרסאות 8 וגירסא 9 (בטא) בעלות סגנונות קוד שונים, אך הן מספקות תמיכה דומה מאוד לתכונות ואפשרויות Firebase. כפי שתיארנו בפירוט במדריך זה, שתי גרסאות ה- SDK תומכות בגרסאות JavaScript ו- Node.js לצד מספר אפשרויות להוספה / התקנה של ה- SDK.

הוסף ערכות SDK עם 8.0 (שמות מרווחים) 9.0 (בטא מודולרית)
npm
  • ל- JavaScript
  • עבור Node.js
  • ל- JavaScript
  • עבור Node.js
CDN (רשת משלוח תוכן)
  • ל- JavaScript
  • ל- JavaScript
אירוח כתובות אתרים
  • ל- JavaScript
  • עבור Node.js
  • בקרוב JavaScript ו- Node.js

לקבלת מידע נוסף, ראה דרכים להוסיף את SDKs לאפליקציה ואת גרסאות ה- SDK של Firebase מאוחר יותר בעמוד זה.

גרסה 9 לאפליקציות חדשות

אם אתה מתחיל באינטגרציה חדשה עם Firebase, אתה יכול להצטרף לגרסת 9 Beta SDK כאשר אתה מוסיף ומאתחל את ה- SDK .

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

import { getAuth, onAuthStateChanged } from "firebase/auth";

const auth = getAuth(firebaseApp);
onAuthStateChanged(auth, user => {
  // Check for user status
});

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

דרכים להוסיף את SDK האינטרנט לאפליקציה שלך

Firebase מספק ספריות JavaScript עבור מרבית מוצרי Firebase, כולל Remote Config, FCM ועוד. האופן שבו אתה מוסיף SDK של Firebase לאפליקציית האינטרנט שלך תלוי אם בחרת להשתמש ב- Firebase Hosting עבור האפליקציה שלך, באילו כלים אתה משתמש באפליקציה שלך (כמו חבילת מודולים), או אם האפליקציה שלך פועלת בדפדפן שאינו דפדפן. סביבה כמו Node.js.

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

  • npm (עבור מקבצי מודולים ו- Node.js)
  • CDN (רשת משלוח תוכן)
  • כתובות אתרים לאירוח Firebase

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

npm

הורדת חבילת ה- npm של Firebase (הכוללת הן חבילות דפדפן והן חבילות Node.js) מספקת לך עותק מקומי של Firebase SDK, אשר עשוי להיות נחוץ ליישומים שאינם דפדפנים כגון אפליקציות Node.js, React Native או Electron. ההורדה כוללת חבילות Node.js ו- React Native כאופציה לחבילות מסוימות. חבילות Node.js נחוצות לצעד העיבוד בצד השרת (SSR) של מסגרות ה- SSR.

שימוש ב- npm עם מקבץ מודולים כגון Webpack או Rollup מספק אפשרויות אופטימיזציה ל"טלטול עצים "של קוד שאינו בשימוש ולהחיל מילוי ממוקד ממוקד, מה שיכול להפחית במידה ניכרת את טביעת הרגל של האפליקציה שלך. יישום תכונות אלה עשוי להוסיף מורכבות מסוימת לתצורה ולשרשרת הבנייה שלך, אך כלי CLI המיינסטרים השונים יכולים לעזור במיתון זה. כלים אלה כוללים Angular , React , Vue , Next , ואחרים.

לסיכום:

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

CDN (רשת משלוח תוכן)

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

לסיכום:

  • מוכר ופשוט
  • מתאים כשגודל האפליקציה אינו מהווה דאגה מרכזית
  • מתאים כאשר האתר שלך אינו משתמש בכלי בנייה.

אירוח כתובות אתרים

אירוח Firebase מספק כתובות אתרים שמורות המאפשרות לך לשפר את הביצועים על ידי טעינת קבצים מאותו מקור. אם אתה כבר משתמש או מתכנן להשתמש ב- Firebase אירוח באפליקציה שלך, אתה יכול להוסיף SDK של JavaScript באמצעות כתובות אתרים לאחסון וליהנות מרווח ביצועים זה. בנוסף, שיטה זו תומכת באתחול אוטומטי של ה- SDK, דבר שיכול לפשט את הניהול של סביבות מרובות כגון dev, staging, and production. למידע נוסף על הוספת SDK באמצעות כתובות אתרים שמורות .

לסיכום:

  • מספק יתרון ביצועים קל על פני CDN
  • יכול לפשט את העבודה בסביבות פיתוח מרובות
  • נוח לאפליקציות שכבר משתמשות באירוח Firebase

גרסאות SDK של Firebase Web

נכון לעכשיו, Firebase מספק שתי גרסאות SDK לאינטרנט:

  • חבילת JavaScript התומכת בכל תכונות Firebase לשימוש בדפדפן.
  • חבילת Node.js בצד הלקוח התומכת בתכונות רבות - אך לא בכולן - Firebase. ראה את רשימת הסביבות הנתמכות .

שתי גרסאות ה- SDK הללו נועדו לסייע בבניית אפליקציות אינטרנט או אפליקציות לקוח לגישה של משתמשי קצה, כמו למשל בשולחן העבודה Node.js או ביישום IoT. אם המטרה שלך היא להגדיר גישה מנהלתית מסביבות מורשות (כגון שרתים) השתמש במקום זאת ב- Firebase Admin SDK .

איתור סביבה עם מקבצים ומסגרות

כשאתה מתקין את ה- SDK של Firebase באמצעות npm, הגירסאות JavaScript ו- Node.js מותקנות. החבילה מספקת זיהוי סביבה מפורט כדי לאפשר את החבילות המתאימות ליישום שלך.

אם הקוד שלך משתמש ב- Node.js require הצהרות, ה- SDK ימצא את החבילה הספציפית לצומת. אחרת, יש להגדיר נכון את הגדרות הצרכן כדי לאתר את שדה נקודת הכניסה הנכון בקובץ package.json שלך (למשל, main , browser או module ). אם אתה נתקל בשגיאות זמן ריצה עם SDK, בדוק כדי לוודא שהבונלר שלך מוגדר לתעדף את סוג החבילה הנכון עבור הסביבה שלך.

ספריות זמינות

אפשרויות התקנה נוספות

עיכוב טעינת SDK של Firebase (מ- CDN)

אתה יכול לעכב את הכללתם של ערכות ה- SDK של Firebase עד לטעינת הדף כולו.

  1. הוסף דגל defer לכל תג script עבור ה- SDK של Firebase, ואז דחה את האתחול של Firebase באמצעות סקריפט שני, לדוגמא:

    <script defer src="https://www.gstatic.com/firebasejs/8.6.7/firebase-app.js"></script>
    
    <script defer src="https://www.gstatic.com/firebasejs/8.6.7/firebase-auth.js"></script>
    <script defer src="https://www.gstatic.com/firebasejs/8.6.7/firebase-firestore.js"></script>
    
    // ...
    
    <script defer src="./init-firebase.js"></script>
    
  2. צור קובץ init-firebase.js , ואז init-firebase.js את הדברים הבאים בקובץ:

    // TODO: Replace the following with your app's Firebase project configuration
    var firebaseConfig = {
      // ...
    };
    
    // Initialize Firebase
    firebase.initializeApp(firebaseConfig);
    

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

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

// Initialize Firebase with a "default" Firebase project
var defaultProject = firebase.initializeApp(firebaseConfig);

console.log(defaultProject.name);  // "[DEFAULT]"

// Option 1: Access Firebase services via the defaultProject variable
var defaultStorage = defaultProject.storage();
var defaultFirestore = defaultProject.firestore();

// Option 2: Access Firebase services using shorthand notation
defaultStorage = firebase.storage();
defaultFirestore = firebase.firestore();

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

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

// Initialize Firebase with a default Firebase project
firebase.initializeApp(firebaseConfig);

// Initialize Firebase with a second Firebase project
var otherProject = firebase.initializeApp(otherProjectFirebaseConfig, "other");

console.log(firebase.app().name);  // "[DEFAULT]"
console.log(otherProject.name);    // "otherProject"

// Use the shorthand notation to access the default project's Firebase services
var defaultStorage = firebase.storage();
var defaultFirestore = firebase.firestore();

// Use the otherProject variable to access the second project's Firebase services
var otherStorage = otherProject.storage();
var otherFirestore = otherProject.firestore();

הפעל שרת אינטרנט מקומי לפיתוח

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

אם כבר הגדרת את Firebase Hosting עבור האפליקציה שלך, ייתכן שכבר השלמת כמה מהשלבים שלהלן.

כדי לשרת את אפליקציית האינטרנט שלך, תשתמש ב- Firebase CLI, כלי שורת פקודה.

  1. בקר בתיעוד ה- CLI של Firebase כדי ללמוד כיצד להתקין את ה- CLI או לעדכן לגרסתו האחרונה .

  2. אתחל את פרויקט Firebase שלך. הפעל את הפקודה הבאה משורש ספריית האפליקציות המקומית שלך:

    firebase init

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

    firebase serve

מקורות קוד פתוח עבור קבצי SDK של Firebase

Firebase תומך בפיתוח קוד פתוח, ואנחנו מעודדים תרומות ומשוב לקהילה.

Firkase JavaScript SDK

מרבית ה- SDK של Firebase JavaScript מפותחים כספריות קוד פתוח במאגר GitHub הציבורי שלנו.

דוגמאות להפעלה מהירה

Firebase מקיימת אוסף של דוגמאות להפעלה מהירה עבור רוב ממשקי ה- API של Firebase באינטרנט. מצא את ההתחלות המהירות הללו במאגר הפעלה המהיר של Firebase GitHub . אתה יכול להשתמש בהתחלות מהירות אלה כקוד לדוגמא לשימוש ב- SDK של Firebase.