Firestore ist eine gute skalierbare Datenbanklösung, um Daten über Webclients hinweg synchron zu halten.
Für viele Apps ist die verwaltete Offline-Unterstützung von Firestore besonders wichtig, damit Sie reaktionsschnelle 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 verwenden müssen und keinen verwalteten Offline-Support benötigen?
Lösung: Firestore Lite
Firestore Lite ist ein leichtgewichtiges, eigenständiges REST-only 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 sind die Reduzierungen der Bibliotheksgröße und der Startzeit ein guter Kompromiss.
Importieren Sie Firestore Lite
Firestore Lite ist als Teil des modularen SDK über npm verfügbar. Es ist somit vollständig modular und baumerschütterbar.
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 lässt Firestore Lite diese Funktionen aus dem standardmäßigen Firestore SDK weg:
- DocumentSnapshot-Ereignishandler . Die Methode
onSnapshot
und die ObjekteDocumentChange
,SnapshotListenerOptions
,SnapshotMetadata
,SnapshotOptions
undUnsubscribe
sind nicht enthalten. - Ausdauerhelfer . Die
enableIndexedDBPersistence
,enableMultiTabIndexedDbPersistence
undclearIndexedDbPersistence
sind nicht enthalten. - Firestore-Bundles . Die Methode
loadBundle
und verwandte Methoden sowie die ObjekteLoadBundleTask
undLoadBundleTaskProgress
sind nicht enthalten.
Implementieren Sie Abrufe, Abfragen und Aktualisierungen von Dokumenten
Nach dem Import von Firestore Lite können Sie alle bekannten API-Get- und -Update-Aufrufe durchfü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 die standardmäßigen Offline-Persistenz- und Caching-Funktionen des Firestore SDK aufgegeben werden sollen. Sie sollten diese Funktionen verstehen, bevor Sie sich entscheiden, sie gegen den geringeren Overhead von Firestore Lite einzutauschen. Wägen Sie im Allgemeinen diese Faktoren ab, wenn Sie entscheiden, ob Sie Firestore Lite verwenden möchten:
- Online-Status – Firestore Lite eignet sich gut für Apps, die keine Live-Updates benötigen und Konnektivität haben.
- Größenbeschränkungen – Firestore Lite eignet sich hervorragend, wenn Sie die Gesamtgröße Ihres JavaScript-Pakets reduzieren möchten.