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. 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 – und das bei einem 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 Objekte DocumentChange, SnapshotListenerOptions, SnapshotMetadata, SnapshotOptions und Unsubscribe sind nicht enthalten.
  • Persistenz-Hilfsfunktionen Die Methoden enableIndexedDBPersistence, enableMultiTabIndexedDbPersistence und clearIndexedDbPersistence sind nicht enthalten.
  • Firestore-Bundles Die loadBundle-Methode und zugehörige Methoden sowie die LoadBundleTask- und LoadBundleTaskProgress-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ößenbeschränkungen: Firestore Lite eignet sich hervorragend, wenn Sie die Gesamtgröße Ihres JavaScript-Bundles reduzieren möchten.