Firestore è una buona soluzione di database scalabile per mantenere sincronizzati i dati tra i client web.
Per molte app, il supporto offline gestito di Firestore è particolarmente importante, permettendoti di creare app adattabili che funzionano indipendentemente dalla latenza di rete Connessione a internet. Tuttavia, gli SDK ricchi di funzionalità hanno un costo in termini di dimensioni. Cosa Firebase offre app che richiedono solo l'utilizzo di base di creazione, lettura e aggiornamento operazioni di eliminazione ed eliminazione e non hai bisogno del supporto offline gestito?
Soluzione: Firestore Lite
Firestore Lite è un SDK Firestore, leggero e autonomo, solo per REST, supporta il recupero di singoli documenti, l'esecuzione di query e gli aggiornamenti dei documenti delle dimensioni normali dell'SDK web. Firestore Lite omette la compensazione della latenza, la memorizzazione nella cache offline, la ripresa delle query e gli ascoltatori di snapshot, ma per determinati casi d'uso, le riduzioni delle dimensioni della libreria e del tempo di avvio rappresentano un ottimo compromesso.
Importa Firestore Lite
Firestore Lite è disponibile tramite npm come parte del SDK modulare. È quindi completamente modulare e può essere sottoposto a tree-shake.
È supportato il seguente stile di importazione.
import { initializeApp } from "firebase/app";
import {
getFirestore,
getDoc,
updateDoc
} from 'firebase/firestore/lite';
Funzionalità dell'API non supportate da Firestore Lite
Per dimensioni e velocità, Firestore Lite omette queste funzionalità dalla classe SDK Firestore:
- Gestori di eventi DocumentSnapshot. Il metodo
onSnapshot
eDocumentChange
,SnapshotListenerOptions
,SnapshotMetadata
Gli oggettiSnapshotOptions
eUnsubscribe
non sono inclusi. - Sostenitori della persistenza. I metodi
enableIndexedDBPersistence
,enableMultiTabIndexedDbPersistence
eclearIndexedDbPersistence
non sono inclusi. - Pacchetti Firestore. Il metodo
loadBundle
e i relativi e gli oggettiLoadBundleTask
eLoadBundleTaskProgress
non sono inclusi.
Implementare il recupero, le query e gli aggiornamenti dei documenti
Dopo aver importato Firestore Lite, puoi fare in modo che tutte le API familiari ricevano e aggiornare le chiamate. Si applicano tutti i casi d'uso per l'aggiunta di dati e per 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 difficile decidere quando rilasciare l'SDK Firestore standard per la persistenza offline e la memorizzazione nella cache. Ti consigliamo di comprendere queste funzionalità prima di decidere di sostituirle con il minore overhead di Firestore Lite. Nel in generale, valuta questi fattori per decidere se utilizzare Firestore Lite:
- Stato online: Firestore Lite è ideale per le app che non devono essere pubblicate gli aggiornamenti e la connettività.
- Limiti di dimensione: Firestore Lite è ideale se vuoi ridurre le dimensioni complessive del bundle JavaScript.