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