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 को इंपोर्ट करने के बाद, एपीआई के सभी जाने-पहचाने 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 का इस्तेमाल करें.