Firestore, वेब क्लाइंट पर डेटा को सिंक में रखने के लिए, ज़रूरत के हिसाब से बढ़ाया जा सकने वाला एक बेहतरीन डेटाबेस समाधान है.
कई ऐप्लिकेशन के लिए, Firestore की मैनेज की जाने वाली ऑफ़लाइन सहायता की सुविधा बहुत अहम है. इसकी मदद से, ऐसे रिस्पॉन्सिव ऐप्लिकेशन बनाए जा सकते हैं जो नेटवर्क की समस्या या इंटरनेट कनेक्टिविटी न होने पर भी काम करते हैं. हालांकि, ज़्यादा सुविधाओं वाले एसडीके का साइज़ ज़्यादा होता है. Firebase, उन ऐप्लिकेशन के लिए क्या ऑफ़र करता है जिन्हें सिर्फ़ बनाने, पढ़ने, अपडेट करने, और मिटाने की बुनियादी कार्रवाइयां करनी होती हैं और जिन्हें मैनेज की जाने वाली ऑफ़लाइन सहायता की सुविधा की ज़रूरत नहीं होती?
समस्या हल करने का तरीका: Firestore Lite
Firestore Lite, सिर्फ़ REST पर आधारित Firestore 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 इंपोर्ट करने के बाद, एपीआई के सभी जाने-पहचाने गेट और अपडेट कॉल किए जा सकते हैं. डेटा जोड़ने और डेटा पाने के सभी इस्तेमाल के उदाहरण लागू होते हैं.
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 एक बेहतरीन विकल्प है.