Firestore es una buena solución de base de datos escalable para mantener los datos sincronizados entre clientes web.
Para muchas aplicaciones, el soporte administrado sin conexión de Firestore es especialmente importante, ya que le permite crear aplicaciones responsivas que funcionan independientemente de la latencia de la red o la conectividad a Internet. Pero los SDK ricos en funciones tienen un costo considerable. ¿Qué ofrece Firebase para las aplicaciones que solo necesitan usar operaciones básicas de creación, lectura, actualización y eliminación, y no necesitan soporte administrado sin conexión?
Solución: Firestore Lite
Firestore Lite es un SDK de Firestore ligero e independiente, solo para REST, que admite recuperación de documentos individuales, ejecución de consultas y actualizaciones de documentos, en una fracción del tamaño del SDK web normal. Firestore Lite omite la compensación de latencia, el almacenamiento en caché fuera de línea, la reanudación de consultas y los detectores de instantáneas, pero para casos de uso particulares, las reducciones en el tamaño de la biblioteca y el tiempo de inicio representan una gran compensación.
Importar Firestore Lite
Firestore Lite está disponible a través de npm como parte del SDK modular . Por lo tanto, es totalmente modular y se puede sacudir en forma de árbol.
Se admite el siguiente estilo de importación.
import { initializeApp } from "firebase/app";
import {
getFirestore,
getDoc,
updateDoc
} from 'firebase/firestore/lite';
Funciones de API no compatibles con Firestore Lite
Por tamaño y velocidad, Firestore Lite omite estas funciones del SDK de Firestore estándar:
- Controladores de eventos DocumentSnapshot . El método
onSnapshot
yDocumentChange
,SnapshotListenerOptions
,SnapshotMetadata
,SnapshotOptions
yUnsubscribe
no están incluidos. - Ayudantes de persistencia . Los métodos
enableIndexedDBPersistence
,enableMultiTabIndexedDbPersistence
yclearIndexedDbPersistence
no están incluidos. - Paquetes de Firestore . El método
loadBundle
y los métodos relacionados, y los objetosLoadBundleTask
yLoadBundleTaskProgress
no están incluidos.
Implementar búsquedas, consultas y actualizaciones de documentos.
Después de importar Firestore Lite, puede realizar todas las llamadas API familiares de obtención y actualización. Se aplican todos los casos de uso para agregar datos y obtener datos .
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');
Cuándo usar Firestore Lite
Puede ser complicado decidir cuándo abandonar las funciones de almacenamiento en caché y persistencia sin conexión del SDK de Firestore estándar. Debe comprender estas funciones antes de decidir cambiarlas por la menor sobrecarga de Firestore Lite. En general, sopese estos factores al decidir si utilizar Firestore Lite:
- Estado en línea : Firestore Lite es bueno para aplicaciones que no necesitan actualizaciones en vivo y tienen conectividad.
- Restricciones de tamaño : Firestore Lite es excelente si desea reducir el tamaño general del paquete de JavaScript.