Firestore ist eine gute skalierbare Datenbanklösung, um Daten geräteübergreifend zu synchronisieren.
Für viele Apps ist der verwaltete Offlinesupport von Firestore besonders wichtig. So können Sie responsive Apps entwickeln, die unabhängig von Netzwerklatenz oder Internetverbindung funktionieren. Aber funktionsreiche SDKs haben ihren Preis. Was bietet Firebase für Apps, die nur grundlegende Vorgänge wie Erstellen, Lesen, Aktualisieren und Löschen benötigen und keinen verwalteten Offlinesupport benötigen?
Lösung: Firestore Lite
Firestore Lite ist ein schlankes, eigenständiges REST-only-Firestore SDK, das das Abrufen einzelner Dokumente, die Abfrageausführung und die Dokumentaktualisierung unterstützt. Es ist nur ein Bruchteil der Größe des regulären Web SDK. Firestore Lite bietet keine Latenzkompensation, kein Offline-Caching, keine Wiederaufnahme von Abfragen und keine Snapshot-Listener. Für bestimmte Anwendungsfälle ist die geringere Größe der Bibliothek und die kürzere Startzeit jedoch ein guter Kompromiss.
Firestore Lite importieren
Firestore Lite ist als Teil des modularen SDKs über npm verfügbar. Es ist also vollständig modular und kann durch 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 werden im Firestore Lite SDK die folgenden Funktionen des Firestore SDKs nicht unterstützt:
- DocumentSnapshot-Ereignishandler Die
onSnapshot
-Methode und die ObjekteDocumentChange
,SnapshotListenerOptions
,SnapshotMetadata
,SnapshotOptions
undUnsubscribe
sind nicht enthalten. - Persistenz-Hilfsfunktionen Die Methoden
enableIndexedDBPersistence
,enableMultiTabIndexedDbPersistence
undclearIndexedDbPersistence
sind nicht enthalten. - Firestore-Bundles Die
loadBundle
-Methode und zugehörige Methoden sowie dieLoadBundleTask
- undLoadBundleTaskProgress
-Objekte 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. Alle Anwendungsfälle für das Hinzufügen von Daten und das Abrufen von Daten gelten.
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 Offlinespeicherung und die Caching-Funktionen des Firestore SDKs nicht mehr verwenden möchten. Sie sollten sich mit diesen Funktionen vertraut machen, bevor Sie sich für den geringeren Overhead von Firestore Lite entscheiden. 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 Live-Updates benötigen und eine Internetverbindung haben.
- Größeeinschränkungen: Firestore Lite eignet sich hervorragend, wenn Sie die Gesamtgröße Ihres JavaScript-Bundles reduzieren möchten.