Firestore to dobre skalowalne rozwiązanie bazodanowe do synchronizowania danych między klientami internetowymi.
W przypadku wielu aplikacji zarządzana przez Firestore obsługa offline jest szczególnie ważna, ponieważ pozwala tworzyć elastyczne aplikacje, które działają niezależnie od opóźnień w sieci czy połączenia z internetem. Pakiety SDK z dużą ilością funkcji są jednak płatne. Co oferuje Firebase w przypadku aplikacji, które wymagają jedynie podstawowych operacji tworzenia, odczytu, aktualizowania i usuwania, a także nie potrzebują zarządzanej obsługi offline?
Rozwiązanie: Firestore Lite
Firestore Lite to lekki, samodzielny pakiet SDK Firestore dostępny tylko w trybie REST, który obsługuje pobieranie pojedynczych dokumentów, wykonywanie zapytań i aktualizowanie dokumentów w ułamku zwykłego rozmiaru pakietu SDK internetowego. Firestore Lite pomija kompensację czasu oczekiwania, buforowanie offline, wznawianie zapytań i detektory zrzutów, ale w szczególnych przypadkach ograniczenie rozmiaru biblioteki i czasu uruchomienia to świetna korzyść.
Importuj Firestore Lite
Usługa Firestore Lite jest dostępna przez npm w ramach modularnego pakietu SDK. Jest więc w pełni modułowy, a drzewa mogą się potrząsać.
Obsługiwany jest poniższy styl importowania.
import { initializeApp } from "firebase/app";
import {
getFirestore,
getDoc,
updateDoc
} from 'firebase/firestore/lite';
Funkcje interfejsów API nie są obsługiwane przez Firestore Lite
Ze względu na rozmiar i szybkość Firestore Lite pomija te funkcje w standardowym pakiecie SDK Firestore:
- Moduły obsługi zdarzeń DocumentSnapshot Metoda
onSnapshot
oraz obiektyDocumentChange
,SnapshotListenerOptions
,SnapshotMetadata
,SnapshotOptions
iUnsubscribe
nie są uwzględnione. - Pomocnicy wytrwałości. Metody
enableIndexedDBPersistence
,enableMultiTabIndexedDbPersistence
iclearIndexedDbPersistence
nie są uwzględnione. - Pakiety Firestore. Metoda
loadBundle
, powiązane z nią metody oraz obiektyLoadBundleTask
iLoadBundleTaskProgress
nie są uwzględnione.
Wdrażanie pobierania, zapytań i aktualizacji dokumentów
Po zaimportowaniu Firestore Lite możesz zacząć otrzymywać i aktualizować wszystkie znane wywołania interfejsu API. Zastosowane są również przypadki 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
Zdecydowanie trudno jest zdecydować, kiedy zrezygnować ze standardowych funkcji przechowywania danych offline i buforowania dostępnych w standardowym pakiecie SDK Firestore. Zapoznaj się z tymi funkcjami, zanim zdecydujesz się oddzielić je na mniejsze opłaty za Firestore Lite. Ogólnie, przy wyborze Firestore Lite weź pod uwagę te czynniki:
- Stan online – Firestore Lite dobrze sprawdza się w aplikacjach, które nie wymagają aktualizacji na żywo i mają połączenie.
- Ograniczenia rozmiaru – Firestore Lite świetnie się sprawdza, jeśli chcesz zmniejszyć ogólny rozmiar pakietu JavaScript.