SDK של Cloud Firestore Lite Web

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

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

הפתרון: Firestore Lite

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

ייבוא של Firestore Lite

Firestore Lite זמין דרך npm כחלק מה-SDK המודולרי. כך הוא גם מודולרי לחלוטין וגם ניתן לשימוש ב-tree-shake.

המערכת תומכת בסגנון הייבוא הבא.

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

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

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

  • פונקציות טיפול באירועים של 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.