Pakiet SDK Cloud Firestore Lite Web SDK

Firestore to skalowalne rozwiązanie bazy danych, które umożliwia utrzymywanie synchronizacji danych na różnych klientach internetowych.

W przypadku wielu aplikacji obsługa zarządzanego trybu offline Firestore jest szczególnie ważna, ponieważ umożliwia tworzenie responsywnych aplikacji, które działają niezależnie od opóźnień w sieci lub połączenia z internetem. Pakiety SDK z większą liczbą funkcji są jednak większe. Co Firebase oferuje w przypadku aplikacji, które wymagają tylko podstawowych operacji tworzenia, odczytu, aktualizowania i usuwania, a nie potrzebują obsługi w trybie offline?

Rozwiązanie: Firestore Lite

Firestore Lite to lekki, samodzielny pakiet SDK Firestore obsługujący pobieranie pojedynczych dokumentów, wykonywanie zapytań i aktualizowanie dokumentów. Jego rozmiar jest ułamkiem rozmiaru standardowego pakietu SDK internetowego. Firestore Lite nie obsługuje kompensacji opóźnień, pamięci podręcznej offline, wznawiania zapytań ani odbiorników zrzutów, ale w pewnych przypadkach zmniejszenie rozmiaru biblioteki i czasu uruchamiania może być warte poświęcenia tych funkcji.

Importowanie Firestore Lite

Firestore Lite jest dostępny w npm jako część modułowego pakietu SDK. Jest więc w pełni modułową i z możliwością usuwania elementów.

Obsługiwany jest ten styl importowania.

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 pomija te funkcje standardowego pakietu SDK Firestore:

  • Moduły obsługi zdarzeń DocumentSnapshot. Metoda onSnapshot oraz obiekty DocumentChange, SnapshotListenerOptions, SnapshotMetadata, SnapshotOptionsUnsubscribe nie są uwzględniane.
  • Pomocnicze funkcje trwałości. Metody enableIndexedDBPersistence, enableMultiTabIndexedDbPersistenceclearIndexedDbPersistence nie są uwzględniane.
  • Paczki Firestore. Metoda loadBundle i powiązane z nią metody oraz obiekty LoadBundleTaskLoadBundleTaskProgress nie są uwzględnione.

Wdrażanie pobierania, zapytań i aktualizacji dokumentów

Po zaimportowaniu Firestore Lite możesz wykonywać wszystkie znane wywołania interfejsu API get i update. Dotyczy to wszystkich przypadków użycia dotyczących dodawania danychpobierania 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

Trudno jest zdecydować, kiedy zrezygnować ze standardowych funkcji trwałości offline i pamięci podręcznej w pakiecie SDK Firestore. Zanim zdecydujesz się na mniejsze nakłady pracy związane z Firestore Lite, zapoznaj się z tymi funkcjami. Ogólnie rzecz biorąc, przy podejmowaniu decyzji o użyciu Firestore Lite należy wziąć pod uwagę te czynniki:

  • Stan online – Firestore Lite jest odpowiedni dla aplikacji, które nie wymagają aktualizacji na bieżąco i mają połączenie z internetem.
  • Ograniczenia dotyczące rozmiaru – Firestore Lite to świetne rozwiązanie, jeśli chcesz zmniejszyć ogólny rozmiar pakietu JavaScript.