Cloud Firestore Lite Web SDK

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. SDKs mit vielen Funktionen haben jedoch ihren Umfang. 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 einfaches, eigenständiges Firestore SDK, das das Abrufen einzelner Dokumente, das Ausführen von Abfragen und das Aktualisieren von Dokumenten zu einem Bruchteil der regulären Web SDK-Größe unterstützt. 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 in Firestore Lite die folgenden Funktionen des Firestore SDKs nicht unterstützt:

  • DocumentSnapshot-Ereignishandler Die onSnapshot-Methode und die Objekte DocumentChange, SnapshotListenerOptions, SnapshotMetadata, SnapshotOptions und Unsubscribe sind nicht enthalten.
  • Persistenz-Hilfsfunktionen Die Methoden enableIndexedDBPersistence, enableMultiTabIndexedDbPersistence und clearIndexedDbPersistence sind nicht enthalten.
  • Firestore-Bundles Die Methode loadBundle und verwandte Methoden sowie die Objekte LoadBundleTask und LoadBundleTaskProgress 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 die Offlinepersistenz- und Caching-Features des standardmäßigen Firestore SDK deaktiviert werden sollen. Machen Sie sich mit diesen Funktionen vertraut, bevor Sie sie gegen den geringeren Aufwand von Firestore Lite eintauschen. 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ößenbeschränkungen: Firestore Lite ist hervorragend geeignet, wenn Sie die Gesamtgröße Ihres JavaScript-Bundles reduzieren möchten.