Firestore ist eine gute skalierbare Datenbanklösung, um Daten über Web-Clients hinweg synchron zu halten.
Für viele Apps ist die verwaltete Offline-Unterstützung von Firestore besonders wichtig, damit Sie reaktionsfähige Apps erstellen können, die unabhängig von Netzwerklatenz oder Internetverbindung funktionieren. Aber funktionsreiche SDKs haben ihren Preis. Was bietet Firebase für Apps, die nur grundlegende Erstellungs-, Lese-, Aktualisierungs- und Löschvorgänge benötigen und keinen verwalteten Offline-Support benötigen?
Lösung: Firestore Lite
Firestore Lite ist ein leichtes, eigenständiges REST-Firestore-SDK, das das Abrufen einzelner Dokumente, die Ausführung von Abfragen und Dokumentaktualisierungen zu einem Bruchteil der regulären Web-SDK-Größe unterstützt. Firestore Lite verzichtet auf Latenzkompensation, Offline-Caching, Abfragewiederaufnahme und Snapshot-Listener, aber für bestimmte Anwendungsfälle stellen die Reduzierungen der Bibliotheksgröße und der Startzeit einen großen Kompromiss dar.
Importieren Sie Firestore Lite
Firestore Lite ist über npm als Teil des modularen SDK verfügbar. Es ist somit vollständig modular und baumschüttelnd.
Der folgende Importstil wird unterstützt.
import { initializeApp } from "firebase/app";
import {
getFirestore,
getDoc,
updateDoc
} from 'firebase/firestore/lite';
API-Funktionen werden von Firestore Lite nicht unterstützt
Aus Gründen der Größe und Geschwindigkeit verzichtet Firestore Lite auf diese Funktionen im Standard-Firestore-SDK:
- DocumentSnapshot-Ereignishandler . Die
onSnapshot
Methode und die ObjekteDocumentChange
,SnapshotListenerOptions
,SnapshotMetadata
,SnapshotOptions
undUnsubscribe
sind nicht enthalten. - Persistenzhelfer . Die Methoden
enableIndexedDBPersistence
,enableMultiTabIndexedDbPersistence
“ undclearIndexedDbPersistence
sind nicht enthalten. - Firestore-Pakete . Die Methode
loadBundle
und zugehörige Methoden sowie die ObjekteLoadBundleTask
undLoadBundleTaskProgress
sind nicht enthalten.
Implementieren Sie Dokumentabrufe, -abfragen und -aktualisierungen
Nach dem Import von Firestore Lite können Sie alle bekannten API-Abrufe und -Updates durchführen. Es gelten alle Anwendungsfälle für das Hinzufügen von Daten und das Abrufen von Daten .
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 Sie Firestore Lite verwenden sollten
Es kann schwierig sein, zu entscheiden, wann die Offline-Persistenz- und Caching-Funktionen des standardmäßigen Firestore SDK aufgegeben werden sollen. Sie sollten diese Funktionen verstehen, bevor Sie sie gegen den geringeren Overhead von Firestore Lite eintauschen. Wägen Sie im Allgemeinen diese Faktoren ab, wenn Sie entscheiden, ob Sie Firestore Lite verwenden:
- Online-Status – Firestore Lite eignet sich für Apps, die keine Live-Updates benötigen und über Konnektivität verfügen.
- Größenbeschränkungen – Firestore Lite eignet sich hervorragend, wenn Sie die Gesamtgröße Ihres JavaScript-Bundles reduzieren möchten.