Cloud Firestore Lite Web SDK

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 Objekte DocumentChange , SnapshotListenerOptions , SnapshotMetadata , SnapshotOptions und Unsubscribe sind nicht enthalten.
  • Persistenzhelfer . Die Methoden enableIndexedDBPersistence , enableMultiTabIndexedDbPersistence “ und clearIndexedDbPersistence sind nicht enthalten.
  • Firestore-Pakete . Die Methode loadBundle und zugehörige Methoden sowie die Objekte LoadBundleTask und LoadBundleTaskProgress 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.