Firestore to dobre, skalowalne rozwiązanie do przechowywania danych, które zapewnia synchronizację danych na klientach internetowych.
W przypadku wielu aplikacji zarządzana obsługa offline w Firestore jest szczególnie ważna, ponieważ umożliwia tworzenie responsywnych aplikacji, które działają niezależnie od opóźnień sieciowych czy połączenia z internetem. Jednak bogate w funkcje pakiety SDK mają większy rozmiar. Co Firebase oferuje aplikacjom, które potrzebują tylko podstawowych operacji tworzenia, odczytu, aktualizacji i usuwania, a nie wymagają zarządzanej obsługi 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, a jego rozmiar jest znacznie mniejszy niż w przypadku zwykłego pakietu SDK na potrzeby internetu. Firestore Lite nie uwzględnia kompensacji opóźnień, buforowania offline, wznawiania zapytań ani odbiorników migawek, ale w określonych przypadkach użycia zmniejszenie rozmiaru biblioteki i czasu uruchamiania stanowi dobrą kompensatę.
Importowanie Firestore Lite
Firestore Lite jest dostępny w npm w ramach modułowego pakietu SDK. Dzięki temu jest w pełni modułowa i można ją przycinać.
Obsługiwany jest ten styl importu.
import { initializeApp } from "firebase/app";
import {
getFirestore,
getDoc,
updateDoc
} from 'firebase/firestore/lite';
Funkcje interfejsu API nieobsługiwane przez Firestore Lite
Aby zmniejszyć rozmiar i zwiększyć szybkość działania, pakiet SDK Firestore Lite nie zawiera tych funkcji standardowego pakietu SDK Firestore:
- moduły obsługi zdarzeń DocumentSnapshot. Metoda
onSnapshot
oraz obiektyDocumentChange
,SnapshotListenerOptions
,SnapshotMetadata
,SnapshotOptions
iUnsubscribe
nie są uwzględnione. - Narzędzia do utrwalania Metody
enableIndexedDBPersistence
,enableMultiTabIndexedDbPersistence
iclearIndexedDbPersistence
nie są uwzględnione. - Pakiety Firestore Metoda
loadBundle
i powiązane metody oraz obiektyLoadBundleTask
iLoadBundleTaskProgress
nie są uwzględnione.
Implementowanie pobierania, wysyłania zapytań i aktualizowania dokumentów
Po zaimportowaniu Firestore Lite możesz wykonywać wszystkie znane wywołania interfejsu API get i update. Obowiązują wszystkie przypadki użycia dodawania danych 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
Decyzja o tym, kiedy zrezygnować z funkcji buforowania i trwałości offline standardowego pakietu SDK Firestore, może być trudna. 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 weź 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.