Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

Cloud Firestore Lite-Web-SDK

Firestore ist eine gute skalierbare Datenbanklösung, um Daten über Webclients hinweg synchron zu halten.

Für viele Apps ist der verwaltete Offline-Support 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 schlankes, eigenständiges Firestore SDK, das nur auf REST basiert und 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 ist die Reduzierung der Bibliotheksgröße und der Startzeit ein großer Kompromiss.

Firestore Lite importieren

Firestore Lite ist über npm als Teil des verfügbaren modularen SDK . Es ist somit vollständig modular und baumschüttelfähig.

Der folgende Importstil wird unterstützt.

import { initializeApp } from "firebase/app";
import {
   getFirestore,
   enableIndexedDbPersistence,
   getDoc,
   updateDoc
} from 'firebase/firestore/lite';

API-Funktionen, die von Firestore Lite nicht unterstützt werden

In Bezug auf Größe und Geschwindigkeit lässt Firestore Lite diese Funktionen aus dem standardmäßigen Firestore SDK weg:

  • DocumentSnapshot Event - Handler. Die onShanpshot Verfahren und DocumentChange , SnapshotListenerOptions , SnapshotMetadata , SnapshotOptions und Unsubscribe Objekte sind nicht enthalten.
  • Persistence Helfer. Die enableIndexedDBPersistence , enableMultiTabIndexedDbPersistence und clearIndexedDbPersistence Methoden sind nicht enthalten.
  • Firesbündel. Die loadBundle Verfahren und zugehörige Verfahren und die LoadBundleTask und LoadBundleTaskProgress Objekte sind nicht enthalten.

Implementieren von Dokumentenabrufen, -abfragen und -aktualisierungen

Nach dem Importieren von Firestore Lite können Sie alle bekannten API-Get- und -Update-Aufrufe ausführen. Die Anwendungsfälle für Daten hinzufügen und Abrufen von Daten alle 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 Sie Firestore Lite verwenden sollten

Es kann schwierig sein zu entscheiden, wann die Offline-Persistenz- und Caching-Funktionen des Firestore SDKs aufgegeben werden sollen. Sie sollten diese Funktionen verstehen, bevor Sie sich entscheiden, sie gegen den geringeren Aufwand von Firestore Lite einzutauschen. Wägen Sie im Allgemeinen diese Faktoren ab, wenn Sie entscheiden, ob Sie Firestore Lite verwenden möchten:

  • Online - Status - Firestor Lite ist gut für Anwendungen , die nicht brauchen , Live - Updates zu tun und haben Konnektivität.
  • Größenbeschränkungen - Firestore Lite ist groß , wenn Sie Ihre gesamte JavaScript Paketgröße reduzieren möchten.