Cloud Firestore Lite वेब SDK

Firestore, वेब क्लाइंट पर डेटा को सिंक में रखने के लिए, एक बेहतर और ज़रूरत के हिसाब से बढ़ाया जा सकने वाला डेटाबेस समाधान है.

कई ऐप्लिकेशन के लिए, Firestore की मैनेज की गई ऑफ़लाइन सहायता की सुविधा बहुत अहम है. इसकी मदद से, ऐसे रिस्पॉन्सिव ऐप्लिकेशन बनाए जा सकते हैं जो नेटवर्क की समस्या या इंटरनेट कनेक्टिविटी न होने पर भी काम करते हैं. हालांकि, ज़्यादा सुविधाओं वाले एसडीके का साइज़ ज़्यादा होता है. Firebase, उन ऐप्लिकेशन के लिए क्या ऑफ़र करता है जिन्हें सिर्फ़ बनाने, पढ़ने, अपडेट करने, और मिटाने की बुनियादी कार्रवाइयों का इस्तेमाल करना होता है और जिन्हें मैनेज की गई ऑफ़लाइन सहायता की ज़रूरत नहीं होती?

समस्या हल करने का तरीका: Firestore Lite

Firestore Lite, सिर्फ़ REST API वाला एक हल्का और स्टैंडअलोन 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 एक बेहतरीन विकल्प है.