Catch up on highlights from Firebase at Google I/O 2023. Learn more

Cloud Firestore Lite Web SDK

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 di 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 normali dimensioni dell'SDK Web. Firestore Lite omette la compensazione della latenza, la memorizzazione nella cache offline, la ripresa delle query e gli snapshot listener, 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 tremolante.

È 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 dimensioni e velocità, Firestore Lite omette queste funzionalità dall'SDK Firestore standard:

  • Gestori di eventi DocumentSnapshot . Il metodo onSnapshot e DocumentChange , SnapshotListenerOptions , SnapshotMetadata , SnapshotOptions e Unsubscribe non sono inclusi.
  • Aiutanti di persistenza . I metodi enableIndexedDBPersistence , enableMultiTabIndexedDbPersistence e clearIndexedDbPersistence non sono inclusi.
  • Bundle Firestore . Il metodo loadBundle ei metodi correlati e gli oggetti LoadBundleTask e LoadBundleTaskProgress non sono inclusi.

Implementa recuperi di documenti, query e aggiornamenti

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 di dati e l'ottenimento 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 complicato decidere quando abbandonare le funzionalità di persistenza offline e di memorizzazione nella cache dell'SDK Firestore standard. Dovresti comprendere queste funzionalità prima di decidere di scambiarle con il minor sovraccarico di Firestore Lite. In generale, valuta questi fattori quando decidi se utilizzare Firestore Lite:

  • Stato online : Firestore Lite va bene per le app che non necessitano di aggiornamenti in tempo reale e dispongono di connettività.
  • Vincoli di dimensioni : Firestore Lite è ottimo se desideri ridurre le dimensioni complessive del pacchetto JavaScript.