Firestore ist eine gute skalierbare Datenbanklösung, um Daten zwischen 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 auch Nachteile. Was bietet Firebase für Apps, die nur grundlegende Erstellungs-, Lese-, Aktualisierungs- und Löschvorgänge benötigen und keine verwaltete Offlineunterstützung?
Lösung: Firestore Lite
Firestore Lite ist ein schlankes, eigenständiges Firestore-SDK, das nur REST unterstützt und das Abrufen einzelner Dokumente, die Ausführung von Abfragen und Dokumentaktualisierungen ermöglicht. Es ist nur ein Bruchteil der Größe des regulären Web-SDKs. Bei Firestore Lite werden die Latenzkompensation, das Offline-Caching, die Wiederaufnahme von Abfragen und Snapshot-Listener weggelassen. 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. Sie ist daher vollständig modular und kann per Tree Shaking optimiert werden.
Der folgende Importstil wird unterstützt.
import { initializeApp } from "firebase/app";
import {
getFirestore,
getDoc,
updateDoc
} from 'firebase/firestore/lite';
Von Firestore Lite nicht unterstützte API-Funktionen
Aus Gründen der Größe und Geschwindigkeit werden im Firestore Lite SDK die folgenden Funktionen des Standard-Firestore SDK weggelassen:
- DocumentSnapshot-Event-Handler Die Methode
onSnapshot
und die ObjekteDocumentChange
,SnapshotListenerOptions
,SnapshotMetadata
,SnapshotOptions
undUnsubscribe
sind nicht enthalten. - Persistenz-Helfer: Die Methoden
enableIndexedDBPersistence
,enableMultiTabIndexedDbPersistence
undclearIndexedDbPersistence
sind nicht enthalten. - Firestore-Bundles. Die Methode
loadBundle
und zugehörige Methoden sowie die ObjekteLoadBundleTask
undLoadBundleTaskProgress
sind nicht enthalten.
Dokumentabrufe, ‑abfragen und ‑aktualisierungen implementieren
Nachdem Sie Firestore Lite importiert haben, können Sie alle bekannten API-Abruf- und Aktualisierungsaufrufe 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 sollte Firestore Lite verwendet werden?
Es kann schwierig sein, zu entscheiden, wann Sie die Offline-Persistenz- und Caching-Funktionen des Standard-Firestore SDK nicht mehr verwenden sollten. Sie sollten sich mit diesen Funktionen vertraut machen, bevor Sie sich für Firestore Lite entscheiden, um den geringeren Aufwand zu nutzen. 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 über eine Verbindung verfügen.
- Größenbeschränkungen: Firestore Lite ist ideal, wenn Sie die Gesamtgröße Ihres JavaScript-Bundles reduzieren möchten.