Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

SDK Web Cloud Firestore Lite

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

Pour de nombreuses applications, la prise en charge hors ligne gérée de Firestore est particulièrement importante, vous permettant de créer des applications réactives qui fonctionnent indépendamment de la latence du réseau ou de la connectivité Internet. Mais les SDK riches en fonctionnalités ont un coût de taille. Que propose Firebase pour les applications qui n'ont besoin que d'effectuer des opérations de création, de lecture, de mise à jour et de suppression de base, et qui n'ont pas besoin d'une assistance hors ligne gérée ?

Solution : Firestore Lite

Firestore Lite est un SDK Firestore léger et autonome REST uniquement qui prend en charge les extractions de documents uniques, l'exécution de requêtes et les mises à jour de documents, à une fraction de la taille standard du SDK Web. Firestore Lite omet la compensation de latence, la mise en cache hors ligne, la reprise des requêtes et les écouteurs d'instantanés, mais pour des cas d'utilisation particuliers, 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 ainsi entièrement modulable et arborescent.

Le style d'importation suivant est pris en charge.

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

Fonctionnalités de l'API non prises en charge par Firestore Lite

Pour la taille et la vitesse, Firestore Lite omet ces fonctionnalités du SDK Firestore standard :

  • Gestionnaires d'événements DocumentSnapshot. La onShanpshot méthode et DocumentChange , SnapshotListenerOptions , SnapshotMetadata , SnapshotOptions et Unsubscribe objets ne sont pas inclus.
  • Aides persistance. Les enableIndexedDBPersistence , enableMultiTabIndexedDbPersistence et clearIndexedDbPersistence méthodes ne sont pas inclus.
  • Faisceaux FireStore. La loadBundle méthode et des méthodes connexes, et les LoadBundleTask et LoadBundleTaskProgress objets ne sont pas inclus.

Mettre en œuvre des récupérations de documents, des requêtes et des mises à jour

Après avoir importé Firestore Lite, vous pouvez effectuer tous les appels familiers d'obtention et de mise à jour de l'API. Les cas d'utilisation pour l' ajout de données et d' obtenir des données 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 ligne du SDK Firestore standard. Vous devez comprendre ces fonctionnalités avant de décider de les échanger contre les frais généraux inférieurs de Firestore Lite. En général, tenez compte de ces facteurs lorsque vous décidez d'utiliser Firestore Lite :

  • Statut en ligne - Firestore Lite est bon pour les applications qui ne nécessitent pas des mises à jour en direct et ont la connectivité.
  • Contraintes de taille - Firestore Lite est idéal si vous voulez réduire votre taille globale bundle JavaScript.