Firestore to dobre, skalowalne rozwiązanie bazodanowe umożliwiające synchronizację danych między klientami internetowymi.
W przypadku wielu aplikacji szczególnie ważna jest zarządzana obsługa offline Firestore, ponieważ pozwala tworzyć responsywne aplikacje, które działają niezależnie od opóźnienia sieci i łączności z Internetem. Jednak bogate w funkcje pakiety SDK mają swoją cenę. Co oferuje Firebase dla aplikacji, które wymagają jedynie podstawowych operacji tworzenia, odczytu, aktualizacji i usuwania i nie potrzebują zarządzanej obsługi w trybie offline?
Rozwiązanie: Firestore Lite
Firestore Lite to lekki, samodzielny pakiet SDK Firestore obsługujący tylko REST, który obsługuje pobieranie pojedynczych dokumentów, wykonywanie zapytań i aktualizacje dokumentów za ułamek zwykłego rozmiaru Web SDK. Firestore Lite pomija kompensację opóźnień, buforowanie offline, wznawianie zapytań i nasłuchiwanie migawek, ale w konkretnych przypadkach użycia zmniejszenie rozmiaru biblioteki i czasu uruchamiania stanowi świetny kompromis.
Zaimportuj Firestore Lite
Firestore Lite jest dostępny poprzez npm jako część modułowego SDK . Dzięki temu jest w pełni modułowy i można go stawiać na drzewach.
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 pakietu SDK Firestore:
- Obsługa 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 metody pokrewne oraz obiektyLoadBundleTask
iLoadBundleTaskProgress
nie są uwzględnione.
Implementuj pobieranie dokumentów, zapytania i aktualizacje
Po zaimportowaniu Firestore Lite możesz wykonywać wszystkie znane wywołania API i aktualizować je. 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ś poznać te funkcje, zanim zdecydujesz się je wymienić na niższe koszty Firestore Lite. Ogólnie rzecz biorąc, podejmując decyzję o korzystaniu z Firestore Lite, rozważ następujące czynniki:
- Stan online — Firestore Lite jest dobry 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.