Firestore to dobre, skalowalne rozwiązanie do przechowywania danych, które umożliwia synchronizowanie danych między klientami internetowymi.
W przypadku wielu aplikacji szczególnie ważne jest zarządzane przez Firestore wsparcie offline, które pozwala tworzyć responsywne aplikacje działające niezależnie od opóźnienia sieci i połączenia z internetem. Jednak bogate w funkcje pakiety SDK mają duży rozmiar. Co Firebase oferuje aplikacjom, które muszą tylko wykonywać podstawowe operacje tworzenia, odczytu, aktualizacji i usuwania oraz nie potrzebują zarządzanego wsparcia offline?
Rozwiązanie: Firestore Lite
Firestore Lite to lekki, samodzielny pakiet SDK Firestore, który obsługuje pobieranie pojedynczych dokumentów, wykonywanie zapytań i aktualizowanie dokumentów przy ułamku rozmiaru zwykłego pakietu Web SDK. Firestore Lite pomija kompensację opóźnienia, buforowanie offline, wznawianie zapytań i odbiorniki migawek, ale w określonych przypadkach użycia zmniejszenie rozmiaru biblioteki i czasu uruchamiania stanowi świetny kompromis.
Importowanie Firestore Lite
Firestore Lite jest dostępny w npm jako część modułowego pakietu SDK. Dzięki temu jest w pełni modułowy i można go przycinać.
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 ze standardowego pakietu SDK Firestore:
- Moduły obsługi zdarzeń DocumentSnapshot. Nie są uwzględnione metoda
onSnapshotani obiektyDocumentChange,SnapshotListenerOptions,SnapshotMetadata,SnapshotOptionsiUnsubscribe. - Narzędzia do utrwalania. Nie są uwzględnione metody
enableIndexedDBPersistence,enableMultiTabIndexedDbPersistenceiclearIndexedDbPersistence. - Pakiety Firestore. Nie są uwzględnione metoda
loadBundleani powiązane metody, a także obiektyLoadBundleTaskiLoadBundleTaskProgressnie są uwzględnione.
Implementowanie pobierania, zapytań i aktualizacji dokumentów
Po zaimportowaniu Firestore Lite możesz wykonywać wszystkie znane wywołania interfejsu API get i update. Obowiązują wszystkie przypadki użycia związane z dodawaniem danych i pobieraniem 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ć z funkcji utrwalania i buforowania offline standardowego pakietu SDK Firestore. Zanim zdecydujesz się na rezygnację 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 jest odpowiedni dla aplikacji, które nie wymagają aktualizacji na żywo i mają połączenie z internetem.
- Ograniczenia rozmiaru – Firestore Lite jest idealny, jeśli chcesz zmniejszyć ogólny rozmiar pakietu JavaScript.