Firestore ist eine gute skalierbare Datenbanklösung, um Daten über Webclients hinweg synchron zu halten.
Für viele Apps ist die verwaltete Offlineunterstützung von Firestore besonders wichtig, da Sie damit reaktionsschnelle Apps erstellen können, die unabhängig von Netzwerklatenz oder Internetverbindung funktionieren. SDKs mit vielen Funktionen sind jedoch auch sehr groß. Was bietet Firebase für Apps, die nur grundlegende Vorgänge zum Erstellen, Lesen, Aktualisieren und Löschen verwenden und keine verwaltete Offlineunterstützung benötigen?
Lösung: Firestore Lite
Firestore Lite ist ein einfaches, eigenständiges REST-only-Firestore-SDK, das das Abrufen einzelner Dokumente, die Abfrageausführung und Dokumentaktualisierungen unterstützt. Es ist nur einen Bruchteil so groß wie das reguläre Web-SDK. Firestore Lite verzichtet auf Latenzausgleich, Offline-Caching, Fortsetzung von Abfragen und Snapshot-Listener. Für bestimmte Anwendungsfälle sind die Reduzierung 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. Sie ist vollständig modular und Tree-Shaking-fähig.
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 werden in Firestore Lite die folgenden Funktionen des Standard-Firestore SDK weggelassen:
- DocumentSnapshot-Ereignishandler Die Methode
onSnapshotund die ObjekteDocumentChange,SnapshotListenerOptions,SnapshotMetadata,SnapshotOptionsundUnsubscribesind nicht enthalten. - Persistenz-Hilfsprogramme. Die Methoden
enableIndexedDBPersistence,enableMultiTabIndexedDbPersistenceundclearIndexedDbPersistencesind nicht enthalten. - Firestore-Bundles. Die Methode
loadBundleund zugehörige Methoden sowie die ObjekteLoadBundleTaskundLoadBundleTaskProgresssind nicht enthalten.
Dokumentabrufe, Abfragen und Aktualisierungen implementieren
Nachdem Sie Firestore Lite importiert haben, können Sie alle bekannten API-Aufrufe zum Abrufen und Aktualisieren ausführen. Die Anwendungsfälle für das Hinzufügen von Daten und das Abrufen von Daten gelten alle.
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 Firestore Lite verwendet werden sollte
Es kann schwierig sein, zu entscheiden, wann die Offline-Persistenz- und Caching-Funktionen des Standard-Firestore SDK nicht mehr verwendet werden sollen. Sie sollten diese Funktionen kennen, bevor Sie sich entscheiden, sie gegen den geringeren Aufwand von Firestore Lite einzutauschen. Berücksichtigen Sie bei der Entscheidung, ob Sie Firestore Lite verwenden möchten, im Allgemeinen die folgenden Faktoren:
- Onlinestatus: Firestore Lite eignet sich für Apps, die keine Livemeldungen benötigen und eine Verbindung haben.
- Größenbeschränkungen: Firestore Lite ist ideal, wenn Sie die Gesamtgröße Ihres JavaScript-Bundles reduzieren möchten.