SDK של Cloud Firestore Lite Web

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

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

פתרון: Firestore Lite

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

ייבוא של Firestore Lite

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

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

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

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

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

  • פונקציות handler של אירועים מסוג DocumentSnapshot. השיטה onSnapshot והאובייקטים DocumentChange, SnapshotListenerOptions, SnapshotMetadata, SnapshotOptions ו-Unsubscribe לא נכללים.
  • עזרים לשימור נתונים. השיטות 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.