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