SDK Web Cloud Firestore Lite

Firestore est une solution de base de données évolutive qui permet de synchroniser les données entre les clients Web.

Pour de nombreuses applications, la prise en charge hors connexion gérée de Firestore est particulièrement importante, car elle vous permet de créer des applications réactives qui fonctionnent quelle que soit la latence du réseau ou la connexion Internet. Cependant, les SDK riches en fonctionnalités ont un coût en termes de taille. Que propose Firebase pour les applications qui n'ont besoin que d'utiliser des opérations de base de création, de lecture, de mise à jour et de suppression, et qui n'ont pas besoin d'une prise en charge hors connexion gérée ?

Solution: Firestore Lite

Firestore Lite est un SDK Firestore autonome et léger, qui prend en charge les récupérations de documents uniques, l'exécution de requêtes et les mises à jour de documents, pour une taille inférieure à celle du SDK Web standard. Firestore Lite omet la compensation de la latence, la mise en cache hors connexion, la reprise des requêtes et les écouteurs d'instantanés, mais pour certains cas d'utilisation, les réductions de la taille de la bibliothèque et du temps de démarrage constituent un excellent compromis.

Importer Firestore Lite

Firestore Lite est disponible via npm dans le cadre du SDK modulaire. Il est donc entièrement modulaire et peut être supprimé par élagage.

Le style d'importation suivant est accepté.

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

Fonctionnalités d'API non compatibles avec Firestore Lite

Pour des raisons de taille et de vitesse, Firestore Lite omet les fonctionnalités suivantes du SDK Firestore standard :

  • Gestionnaires d'événements DocumentSnapshot. Les objets onSnapshot, DocumentChange, SnapshotListenerOptions, SnapshotMetadata, SnapshotOptions et Unsubscribe ne sont pas inclus.
  • Assistants de persistance. Les méthodes enableIndexedDBPersistence, enableMultiTabIndexedDbPersistence et clearIndexedDbPersistence ne sont pas incluses.
  • Bundles Firestore. La méthode loadBundle et les méthodes associées, ainsi que les objets LoadBundleTask et LoadBundleTaskProgress ne sont pas inclus.

Implémenter les récupérations, les requêtes et les mises à jour de documents

Après avoir importé Firestore Lite, vous pouvez effectuer tous les appels d'API get et update habituels. Les cas d'utilisation pour ajouter des données et obtenir des données s'appliquent tous.

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');

Quand utiliser Firestore Lite ?

Il peut être difficile de décider quand abandonner les fonctionnalités de persistance et de mise en cache hors connexion du SDK Firestore standard. Vous devez comprendre ces fonctionnalités avant de décider de les échanger contre la surcharge inférieure de Firestore Lite. En général, tenez compte des facteurs suivants lorsque vous décidez d'utiliser Firestore Lite :

  • État en ligne : Firestore Lite est adapté aux applications qui n'ont pas besoin de mises à jour en direct et qui disposent d'une connectivité.
  • Contraintes de taille : Firestore Lite est idéal si vous souhaitez réduire la taille globale de votre bundle JavaScript.