Pakiet SDK Cloud Firestore Lite Web SDK

Firestore to dobre, skalowalne rozwiązanie bazy danych, które umożliwia synchronizowanie danych między klientami internetowymi.

W przypadku wielu aplikacji zarządzana obsługa offline w Firestore jest szczególnie ważna, ponieważ umożliwia tworzenie aplikacji, które działają niezależnie od opóźnień sieci czy połączenia z internetem. Jednak pakiety SDK z wieloma funkcjami są duże. Co Firebase oferuje w przypadku aplikacji, które wymagają tylko podstawowych operacji tworzenia, odczytu, aktualizacji i usuwania, a nie potrzebują zarządzanej obsługi offline?

Rozwiązanie: Firestore Lite

Firestore Lite to lekki, samodzielny pakiet SDK Firestore, który obsługuje tylko REST i umożliwia pobieranie pojedynczych dokumentów, wykonywanie zapytań i aktualizowanie dokumentów, a jego rozmiar jest znacznie mniejszy niż zwykłego pakietu SDK do aplikacji internetowych. Firestore Lite nie obsługuje kompensacji opóźnień, buforowania offline, wznawiania zapytań ani detektorów zrzutów, ale w niektórych przypadkach użycia mniejszy rozmiar biblioteki i krótszy czas uruchamiania są bardzo korzystne.

Importowanie Firestore Lite

Baza Firestore Lite jest dostępna przez npm jako część modułowego pakietu SDK. Dzięki temu jest w pełni modułowy i można go poddać procesowi tree shaking.

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

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

Funkcje interfejsu API nieobsługiwane przez Firestore Lite

Ze względu na rozmiar i szybkość Firestore Lite nie zawiera tych funkcji standardowego pakietu SDK Firestore:

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

Implementowanie pobierania, zapytań i aktualizacji dokumentów

Po zaimportowaniu Firestore Lite możesz wykonywać wszystkie znane wywołania interfejsu API do pobierania i aktualizowania. Wszystkie przypadki użycia dotyczące dodawania danych i pobierania danych mają zastosowanie.

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

Trudno jest zdecydować, kiedy zrezygnować z funkcji trwałości i buforowania offline standardowego pakietu SDK Firestore. Zanim zdecydujesz się zrezygnować z tych funkcji na rzecz mniejszego obciążenia Firestore Lite, zapoznaj się z nimi. Ogólnie rzecz biorąc, przy podejmowaniu decyzji o użyciu Firestore Lite należy wziąć pod uwagę te czynniki:

  • Stan online – Firestore Lite sprawdza się w przypadku aplikacji, które nie wymagają aktualizacji na żywo i mają połączenie z internetem.
  • Ograniczenia rozmiaru – Firestore Lite to świetne rozwiązanie, jeśli chcesz zmniejszyć ogólny rozmiar pakietu JavaScript.