Catch up on highlights from Firebase at Google I/O 2023. Learn more

Cloud Firestore Lite Web SDK

Firestore to dobre skalowalne rozwiązanie bazodanowe do synchronizacji danych między klientami sieciowymi.

W przypadku wielu aplikacji zarządzana obsługa offline Firestore jest szczególnie ważna, umożliwiając tworzenie responsywnych aplikacji, które działają niezależnie od opóźnień sieci lub łączności z Internetem. Bogate w funkcje zestawy SDK mają jednak swoją cenę. Co Firebase oferuje aplikacjom, które potrzebują tylko podstawowych operacji tworzenia, odczytu, aktualizacji i usuwania i nie potrzebują zarządzanej pomocy w trybie offline?

Rozwiązanie: Firestore Lite

Firestore Lite to lekki, samodzielny zestaw SDK Firestore obsługujący wyłącznie REST, który obsługuje pobieranie pojedynczych dokumentów, wykonywanie zapytań i aktualizacje dokumentów, przy ułamku rozmiaru zwykłego pakietu Web SDK. Firestore Lite pomija kompensację opóźnień, buforowanie offline, wznawianie zapytań i odbiorniki migawek, ale w określonych przypadkach zmniejszenie rozmiaru biblioteki i czasu uruchamiania stanowi świetny kompromis.

Importuj Firestore Lite

Firestore Lite jest dostępny za pośrednictwem npm jako część modułowego zestawu SDK . Jest zatem w pełni modułowy i można nim wstrząsać.

Obsługiwany jest następujący styl importu.

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

Funkcje API nieobsługiwane przez Firestore Lite

Ze względu na rozmiar i szybkość Firestore Lite pomija te funkcje ze standardowego zestawu Firestore SDK:

  • Programy obsługi zdarzeń DocumentSnapshot . Metoda onSnapshot i DocumentChange , SnapshotListenerOptions , SnapshotMetadata , SnapshotOptions i Unsubscribe nie są uwzględniane.
  • Pomocnicy wytrwałości . Metody enableIndexedDBPersistence , enableMultiTabIndexedDbPersistence i clearIndexedDbPersistence nie są uwzględnione.
  • Pakiety Firestore . Metoda loadBundle i powiązane metody oraz obiekty LoadBundleTask i LoadBundleTaskProgress nie są uwzględniane.

Implementuj pobieranie dokumentów, zapytania i aktualizacje

Po zaimportowaniu Firestore Lite możesz wykonywać wszystkie znane interfejsy API do pobierania i aktualizowania wywołań. Obowiązują wszystkie przypadki użycia dotyczące dodawania i pobierania danych .

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

Kiedy używać Firestore Lite

Podjęcie decyzji, kiedy zrezygnować ze standardowych funkcji trwałości i buforowania w trybie offline pakietu Firestore SDK, może być trudne. Powinieneś zrozumieć te funkcje, zanim zdecydujesz się je wymienić na niższy koszt Firestore Lite. Ogólnie rzecz biorąc, rozważ następujące czynniki przy podejmowaniu decyzji o korzystaniu z Firestore Lite:

  • Status online — Firestore Lite jest odpowiedni dla aplikacji, które nie wymagają aktualizacji na żywo i mają łączność.
  • Ograniczenia rozmiaru — Firestore Lite jest świetny, jeśli chcesz zmniejszyć ogólny rozmiar pakietu JavaScript.