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
iDocumentChange
,SnapshotListenerOptions
,SnapshotMetadata
,SnapshotOptions
iUnsubscribe
nie są uwzględniane. - Pomocnicy wytrwałości . Metody
enableIndexedDBPersistence
,enableMultiTabIndexedDbPersistence
iclearIndexedDbPersistence
nie są uwzględnione. - Pakiety Firestore . Metoda
loadBundle
i powiązane metody oraz obiektyLoadBundleTask
iLoadBundleTaskProgress
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.