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 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.