Firestore ist eine gute skalierbare Datenbanklösung, um Daten auf Webclients zu synchronisieren.
Für viele Apps ist die verwaltete Offlineunterstützung von Firestore besonders wichtig, da Sie damit responsive Apps erstellen können, die unabhängig von Netzwerklatenz oder Internetverbindung funktionieren. Funktionsreiche SDKs haben jedoch ihren Preis. Was bietet Firebase für Apps, die nur grundlegende Vorgänge zum Erstellen, Lesen, Aktualisieren und Löschen benötigen und keine verwaltete Offlineunterstützung benötigen?
Lösung: Firestore Lite
Firestore Lite ist ein eigenständiges, schlankes Firestore SDK, das nur REST unterstützt und das Abrufen einzelner Dokumente, die Ausführung von Abfragen und Dokumentaktualisierungen ermöglicht. Es ist viel kleiner als das reguläre Web SDK. Firestore Lite verzichtet auf Latenzausgleich, Offline-Caching, Abfragefortsetzung und Snapshot-Listener. Für bestimmte Anwendungsfälle sind die Reduzierungen der Bibliotheksgröße und der Startzeit jedoch ein guter Kompromiss.
Firestore Lite importieren
Firestore Lite ist über npm als Teil des modularen SDK verfügbar. Es ist also vollständig modular und kann mit Tree Shaking optimiert werden.
Der folgende Importstil wird unterstützt.
import { initializeApp } from "firebase/app";
import {
getFirestore,
getDoc,
updateDoc
} from 'firebase/firestore/lite';
API-Funktionen, die von Firestore Lite nicht unterstützt werden
Aus Gründen der Größe und Geschwindigkeit verzichtet Firestore Lite auf die folgenden Funktionen des standardmäßigen Firestore SDK:
- DocumentSnapshot-Event-Handler : Die Methode
onSnapshotund die ObjekteDocumentChange,SnapshotListenerOptions,SnapshotMetadata,SnapshotOptionsundUnsubscribesind nicht enthalten. - Persistenz-Helfer : Die Methoden
enableIndexedDBPersistence,enableMultiTabIndexedDbPersistenceundclearIndexedDbPersistencesind nicht enthalten. - Firestore-Bundles : Die Methode
loadBundleund zugehörige Methoden sowie die ObjekteLoadBundleTaskundLoadBundleTaskProgresssind nicht enthalten.
Dokumentabrufe, Abfragen und Aktualisierungen implementieren
Nach dem Importieren von Firestore Lite können Sie alle bekannten API-Abrufe und ‑Aktualisierungen ausführen. Die Anwendungsfälle für das Hinzufügen von Daten und das Abrufen von Daten gelten weiterhin.
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');
Wann sollte Firestore Lite verwendet werden?
Es kann schwierig sein, zu entscheiden, wann Sie auf die Offline-Persistenz- und Caching-Funktionen des standardmäßigen Firestore SDK verzichten sollten. Sie sollten diese Funktionen kennen, bevor Sie sie gegen den geringeren Overhead von Firestore Lite eintauschen. Berücksichtigen Sie bei der Entscheidung, ob Sie Firestore Lite verwenden möchten, die folgenden Faktoren:
- Onlinestatus : Firestore Lite eignet sich gut für Apps, die keine Live Updates benötigen und eine Verbindung haben.
- Größenbeschränkungen : Firestore Lite ist ideal, wenn Sie die Gesamtgröße Ihres JavaScript-Bundles reduzieren möchten.