Cloud Firestore Lite Web SDK

Firestore ist eine gute skalierbare Datenbanklösung, um Daten auf 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 ihren Preis. Was bietet Firebase für Apps, die nur grundlegende Vorgänge zum Erstellen, Lesen, Aktualisieren und Löschen benötigen und keine verwaltete Offlineunterstützung benötigen?

Lösung: Firestore Lite

Firestore Lite ist ein eigenständiges, schlankes Firestore SDK, das nur REST unterstützt und das Abrufen einzelner Dokumente, die Ausführung von Abfragen und Dokumentaktualisierungen ermöglicht. Es ist viel kleiner als das reguläre Web SDK. Firestore Lite verzichtet auf Latenzausgleich, Offline-Caching, Abfragefortsetzung und Snapshot-Listener. 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. Es ist also vollständig modular und kann mit 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 verzichtet Firestore Lite auf die folgenden Funktionen des standardmäßigen Firestore SDK:

  • DocumentSnapshot-Event-Handler : Die Methode onSnapshot und die Objekte DocumentChange, SnapshotListenerOptions, SnapshotMetadata, SnapshotOptions und Unsubscribe sind nicht enthalten.
  • Persistenz-Helfer : Die Methoden enableIndexedDBPersistence, enableMultiTabIndexedDbPersistence und clearIndexedDbPersistence sind nicht enthalten.
  • Firestore-Bundles : Die Methode loadBundle und zugehörige Methoden sowie die Objekte LoadBundleTask und LoadBundleTaskProgress sind nicht enthalten.

Dokumentabrufe, Abfragen und Aktualisierungen implementieren

Nach dem Importieren von Firestore Lite können Sie alle bekannten API-Abrufe und ‑Aktualisierungen ausführen. Die Anwendungsfälle für das Hinzufügen von Daten und das Abrufen von Daten gelten weiterhin.

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 auf die Offline-Persistenz- und Caching-Funktionen des standardmäßigen Firestore SDK verzichten sollten. Sie sollten diese Funktionen kennen, bevor Sie sie gegen den geringeren Overhead von Firestore Lite eintauschen. 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 eine Verbindung haben.
  • Größenbeschränkungen : Firestore Lite ist ideal, wenn Sie die Gesamtgröße Ihres JavaScript-Bundles reduzieren möchten.