SDK Web Cloud Firestore Lite

Firestore è una buona soluzione di database scalabile per mantenere i dati sincronizzati tra i client Web.

Per molte app, il supporto offline gestito di Firestore è particolarmente importante, poiché ti consente di creare app reattive che funzionano indipendentemente dalla latenza di rete o dalla connettività Internet. Ma gli SDK ricchi di funzionalità hanno un costo in termini di dimensioni. Cosa offre Firebase per le app che devono utilizzare solo operazioni di creazione, lettura, aggiornamento ed eliminazione di base e non necessitano del supporto offline gestito?

Soluzione: Firestore Lite

Firestore Lite è un SDK Firestore leggero e autonomo, solo REST, che supporta il recupero di singoli documenti, l'esecuzione di query e gli aggiornamenti dei documenti, a una frazione delle dimensioni del normale SDK Web. Firestore Lite omette la compensazione della latenza, la memorizzazione nella cache offline, la ripresa delle query e i listener di istantanee, ma per casi d'uso particolari, le riduzioni delle dimensioni della libreria e del tempo di avvio costituiscono un ottimo compromesso.

Importa Firestore Lite

Firestore Lite è disponibile tramite npm come parte dell'SDK modulare . È quindi completamente modulare e scuotibile dagli alberi.

È supportato il seguente stile di importazione.

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

Funzionalità API non supportate da Firestore Lite

Per quanto riguarda dimensioni e velocità, Firestore Lite omette queste funzionalità dall'SDK Firestore standard:

  • Gestori eventi DocumentSnapshot . Il metodo onSnapshot e DocumentChange , SnapshotListenerOptions , SnapshotMetadata , SnapshotOptions e Unsubscribe non sono inclusi.
  • Aiutanti della tenacia . I metodi enableIndexedDBPersistence , enableMultiTabIndexedDbPersistence e clearIndexedDbPersistence non sono inclusi.
  • Pacchetti Firestore . Il metodo loadBundle e i metodi correlati, nonché gli oggetti LoadBundleTask e LoadBundleTaskProgress non sono inclusi.

Implementa recuperi, query e aggiornamenti di documenti

Dopo aver importato Firestore Lite, puoi fare in modo che tutte le API familiari ricevano e aggiornino le chiamate. Si applicano tutti i casi d'uso per l'aggiunta e l'acquisizione di dati .

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');

Quando utilizzare Firestore Lite

Può essere difficile decidere quando abbandonare le funzionalità di persistenza offline e memorizzazione nella cache dell'SDK Firestore standard. Dovresti comprendere queste funzionalità prima di decidere di scambiarle con il sovraccarico inferiore di Firestore Lite. In generale, valuta questi fattori quando decidi se utilizzare Firestore Lite:

  • Stato online : Firestore Lite è adatto per le app che non necessitano di aggiornamenti live e dispongono di connettività.
  • Vincoli di dimensione : Firestore Lite è ottimo se desideri ridurre le dimensioni complessive del pacchetto JavaScript.