Firebase is back at Google I/O on May 10! Register now

Cloud Firestore Lite-Web-SDK

Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

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 Objekte DocumentChange , SnapshotListenerOptions , SnapshotMetadata , SnapshotOptions und Unsubscribe sind nicht enthalten.
  • Ausdauerhelfer . Die enableIndexedDBPersistence , enableMultiTabIndexedDbPersistence und clearIndexedDbPersistence sind nicht enthalten.
  • Firestore-Bundles . Die Methode loadBundle und verwandte Methoden sowie die Objekte LoadBundleTask und LoadBundleTaskProgress 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.