SDK web de Cloud Firestore Lite

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 y DocumentChange , SnapshotListenerOptions , SnapshotMetadata , SnapshotOptions y Unsubscribe no están incluidos.
  • Ayudantes de persistencia . Los métodos enableIndexedDBPersistence , enableMultiTabIndexedDbPersistence y clearIndexedDbPersistence no están incluidos.
  • Paquetes de Firestore . El método loadBundle y los métodos relacionados, y los objetos LoadBundleTask y LoadBundleTaskProgress 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.