Firestore, वेब क्लाइंट के बीच डेटा को सिंक रखने के लिए, एक अच्छा और आसानी से स्केल किया जा सकने वाला डेटाबेस समाधान है.
कई ऐप्लिकेशन के लिए, Firestore की मैनेज की गई ऑफ़लाइन सहायता की सुविधा बहुत ज़रूरी होती है. इससे आपको ऐसे ऐप्लिकेशन बनाने में मदद मिलती है जो नेटवर्क की लेटेन्सी या इंटरनेट कनेक्टिविटी की परवाह किए बिना काम करते हैं. हालांकि, ज़्यादा सुविधाओं वाले एसडीके का साइज़ ज़्यादा होता है. Firebase, उन ऐप्लिकेशन के लिए क्या ऑफ़र करता है जिन्हें सिर्फ़ बुनियादी तौर पर डेटा बनाने, पढ़ने, अपडेट करने, और मिटाने की ज़रूरत होती है. साथ ही, उन्हें मैनेज की गई ऑफ़लाइन सहायता की ज़रूरत नहीं होती?
समाधान: Firestore Lite
Firestore Lite, सिर्फ़ REST पर आधारित एक हल्का और स्टैंडअलोन Firestore SDK टूल है. यह वेब SDK टूल के साइज़ के मुकाबले बहुत कम साइज़ का होता है. इसमें एक दस्तावेज़ फ़ेच करने, क्वेरी चलाने, और दस्तावेज़ अपडेट करने की सुविधा होती है. Firestore Lite में, लेटेंसी कंपंसेशन, ऑफ़लाइन कैश मेमोरी, क्वेरी फिर से शुरू करने की सुविधा, और स्नैपशॉट लिसनर की सुविधा नहीं होती. हालांकि, कुछ खास इस्तेमाल के मामलों में, लाइब्रेरी के साइज़ और स्टार्टअप टाइम में कमी की वजह से, यह एक बेहतरीन विकल्प है.
Firestore Lite इंपोर्ट करें
Firestore Lite, npm के ज़रिए मॉड्यूलर एसडीके के हिस्से के तौर पर उपलब्ध है. इसलिए, यह पूरी तरह से मॉड्यूलर है और इसमें ट्री-शेकिंग की सुविधा है.
इंपोर्ट करने का यह स्टाइल काम करता है.
import { initializeApp } from "firebase/app";
import {
getFirestore,
getDoc,
updateDoc
} from 'firebase/firestore/lite';
ऐसी एपीआई सुविधाएं जो Firestore Lite के साथ काम नहीं करतीं
साइज़ और स्पीड के लिए, Firestore Lite, स्टैंडर्ड Firestore SDK से इन सुविधाओं को हटा देता है:
- DocumentSnapshot इवेंट हैंडलर. इसमें
onSnapshotतरीका औरDocumentChange,SnapshotListenerOptions,SnapshotMetadata,SnapshotOptions, औरUnsubscribeऑब्जेक्ट शामिल नहीं हैं. - डेटा को सेव रखने में मदद करने वाले फ़ंक्शन. इसमें
enableIndexedDBPersistence,enableMultiTabIndexedDbPersistence, औरclearIndexedDbPersistenceतरीके शामिल नहीं हैं. - Firestore बंडल. इसमें
loadBundleतरीका और इससे जुड़े तरीके शामिल नहीं हैं. साथ ही,LoadBundleTaskऔरLoadBundleTaskProgressऑब्जेक्ट भी शामिल नहीं हैं.
दस्तावेज़ों को फ़ेच करने, क्वेरी करने, और अपडेट करने की सुविधा लागू करना
Firestore Lite को इंपोर्ट करने के बाद, एपीआई के सभी जाने-पहचाने get और update कॉल किए जा सकते हैं. डेटा जोड़ने और डेटा पाने के सभी इस्तेमाल के उदाहरण लागू होते हैं.
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');
Firestore Lite का इस्तेमाल कब करना चाहिए
यह तय करना मुश्किल हो सकता है कि स्टैंडर्ड Firestore SDK की ऑफ़लाइन डेटा सेव करने और कैश मेमोरी की सुविधाओं का इस्तेमाल कब बंद करना है. Firestore Lite के कम ओवरहेड के लिए इन सुविधाओं को बंद करने का फ़ैसला लेने से पहले, आपको इनके बारे में जान लेना चाहिए. आम तौर पर, Firestore Lite का इस्तेमाल करना है या नहीं, यह तय करते समय इन बातों का ध्यान रखें:
- ऑनलाइन स्टेटस - Firestore Lite उन ऐप्लिकेशन के लिए अच्छा है जिन्हें लाइव अपडेट की ज़रूरत नहीं होती और जिनमें कनेक्टिविटी होती है.
- साइज़ से जुड़ी पाबंदियां - अगर आपको अपने JavaScript बंडल के कुल साइज़ को कम करना है, तो Firestore Lite का इस्तेमाल करें.