Catch up on everthing we announced at this year's Firebase Summit. Learn more

SDK web de Cloud Firestore Lite

Firestore es una buena solución de base de datos escalable para mantener los datos sincronizados entre los clientes web.

Para muchas aplicaciones, el soporte sin conexión administrado de Firestore es especialmente importante, ya que le permite crear aplicaciones receptivas que funcionan independientemente de la latencia de la red o la conectividad a Internet. Pero los SDK con muchas funciones tienen un costo de tamaño. ¿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 asistencia administrada sin conexión?

Solución: Firestore Lite

Firestore Lite es un SDK de Firestore ligero e independiente solo para REST que admite la obtención de un solo documento, la ejecución de consultas y las actualizaciones de documentos, a una fracción del tamaño normal del Web SDK. Firestore Lite omite la compensación de latencia, el almacenamiento en caché sin conexión, la reanudación de consultas y los oyentes de instantáneas, pero para casos de uso particulares, las reducciones en el tamaño de la biblioteca y el tiempo de inicio constituyen una gran compensación.

Importar Firestore Lite

Firestore Lite está disponible a través de la NGP como parte del SDK modular . Por lo tanto, es completamente modular y se puede mover en un árbol.

Se admite el siguiente estilo de importación.

import { initializeApp } from "firebase/app";
import {
   getFirestore,
   enableIndexedDbPersistence,
   getDoc,
   updateDoc
} from 'firebase/firestore/lite';

Funciones de API no compatibles con Firestore Lite

Por tamaño y velocidad, Firestore Lite omite estas características del SDK estándar de Firestore:

  • Controladores de eventos DocumentSnapshot. El onShanpshot método y DocumentChange , SnapshotListenerOptions , SnapshotMetadata , SnapshotOptions y Unsubscribe objetos no están incluidos.
  • Ayudantes persistencia. Los enableIndexedDBPersistence , enableMultiTabIndexedDbPersistence y clearIndexedDbPersistence métodos no están incluidos.
  • Manojos FireStore. El loadBundle método y métodos relacionados, y los LoadBundleTask y LoadBundleTaskProgress objetos no están incluidos.

Implementar búsquedas, consultas y actualizaciones de documentos

Después de importar Firestore Lite, puede hacer que todas las API conocidas obtengan y actualicen llamadas. Los casos de uso para agregar datos y la obtención de datos toda aplican.

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 dejar de lado las funciones de almacenamiento en caché y persistencia fuera de línea del SDK estándar de Firestore. Debe comprender estas características antes de decidir cambiarlas por la menor sobrecarga de Firestore Lite. En general, sopese estos factores al decidir si usar Firestore Lite:

  • El estado de conexión - Firestore Lite es bueno para aplicaciones que no necesitan actualizar en tiempo real y tienen conectividad.
  • Restricciones de tamaño - Firestore Lite es grande si se quiere reducir el tamaño de su paquete global JavaScript.