SDK של Cloud Firestore Lite Web

‫Firestore הוא פתרון טוב למסד נתונים שניתן להרחבה, שמאפשר לסנכרן נתונים בין לקוחות אינטרנט.

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

הפתרון: Firestore Lite

‫Firestore Lite הוא SDK קל משקל ועצמאי ל-Firestore, שמיועד ל-REST בלבד. הוא תומך באחזור מסמכים בודדים, בהרצת שאילתות ובעדכון מסמכים, והגודל שלו הוא רק חלק קטן מהגודל של Web SDK הרגיל. ב-Firestore Lite אין פיצוי על זמן אחזור, שמירה במטמון אופליין, המשך שאילתות ומאזינים לתמונות מצב, אבל במקרים מסוימים, ההפחתה בגודל הספרייה ובזמן ההפעלה היא פשרה מצוינת.

ייבוא של Firestore Lite

‫Firestore Lite זמין דרך npm כחלק מ-SDK מודולרי. לכן הוא מודולרי לחלוטין וניתן להסיר ממנו קוד מיותר (tree-shakeable).

סגנון הייבוא הבא נתמך.

import { initializeApp } from "firebase/app";
import {
   getFirestore,
   getDoc,
   updateDoc
} from 'firebase/firestore/lite';

תכונות API שלא נתמכות ב-Firestore Lite

כדי לשמור על גודל קטן ומהירות גבוהה, ב-Firestore Lite אין את התכונות הבאות שקיימות ב-SDK הרגיל של Firestore:

  • גורמים מטפלים באירועים של DocumentSnapshot. ה-method onSnapshot והאובייקטים DocumentChange,‏ SnapshotListenerOptions,‏ SnapshotMetadata,‏ SnapshotOptions ו-Unsubscribe לא נכללים.
  • עוזרי התמדה. ה-methods‏ enableIndexedDBPersistence,‏ enableMultiTabIndexedDbPersistence ו-clearIndexedDbPersistence לא נכללות.
  • חבילות Firestore. השיטה loadBundle ושיטות קשורות, והאובייקטים LoadBundleTask ו-LoadBundleTaskProgress לא נכללים.

הטמעה של שליפות, שאילתות ועדכונים של מסמכים

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

import {
 getFirestore,
 getDoc,
 updateDoc,
 doc
} from '@firebase/firestore/lite';

const firestore = getFirestore(app);
const docRef = doc(firestore, 'collection/doc');
const docSnap = await getDoc(docRef);
await updateDoc(docRef, "field", 'value');

מתי כדאי להשתמש ב-Firestore Lite

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

  • סטטוס אונליין – Firestore Lite מתאים לאפליקציות שלא צריכות עדכונים בזמן אמת ויש להן קישוריות.
  • מגבלות גודל – Firestore Lite הוא פתרון מצוין אם אתם רוצים להקטין את הגודל הכולל של חבילת ה-JavaScript.