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
eDocumentChange
,SnapshotListenerOptions
,SnapshotMetadata
,SnapshotOptions
eUnsubscribe
non sono inclusi. - Aiutanti di persistenza . I metodi
enableIndexedDBPersistence
,enableMultiTabIndexedDbPersistence
eclearIndexedDbPersistence
non sono inclusi. - Bundle Firestore . Il metodo
loadBundle
ei metodi correlati e gli oggettiLoadBundleTask
eLoadBundleTaskProgress
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.