वेब क्लाइंट में डेटा को सिंक में रखने के लिए फायरस्टोर एक अच्छा स्केलेबल डेटाबेस समाधान है।
कई ऐप्स के लिए, फायरस्टोर का प्रबंधित ऑफ़लाइन समर्थन विशेष रूप से महत्वपूर्ण है, जो आपको प्रतिक्रियाशील ऐप्स बनाने की सुविधा देता है जो नेटवर्क विलंबता या इंटरनेट कनेक्टिविटी की परवाह किए बिना काम करते हैं। लेकिन सुविधा संपन्न एसडीके आकार की लागत पर आते हैं। फायरबेस उन ऐप्स के लिए क्या पेशकश करता है जिन्हें केवल बुनियादी निर्माण, पढ़ने, अपडेट करने और हटाने के संचालन की आवश्यकता होती है, और प्रबंधित ऑफ़लाइन समर्थन की आवश्यकता नहीं होती है?
समाधान: फायरस्टोर लाइट
फायरस्टोर लाइट एक हल्का, स्टैंडअलोन REST-only फायरस्टोर SDK है जो नियमित वेब SDK आकार के एक अंश पर एकल दस्तावेज़ लाने, क्वेरी निष्पादन और दस्तावेज़ अपडेट का समर्थन करता है। फायरस्टोर लाइट विलंबता क्षतिपूर्ति, ऑफ़लाइन कैशिंग, क्वेरी पुनः आरंभ और स्नैपशॉट श्रोताओं को छोड़ देता है, लेकिन विशेष उपयोग के मामलों के लिए, लाइब्रेरी आकार और स्टार्टअप समय में कटौती एक बेहतरीन ट्रेडऑफ़ बनाती है।
फायरस्टोर लाइट आयात करें
फायरस्टोर लाइट मॉड्यूलर एसडीके के हिस्से के रूप में एनपीएम के माध्यम से उपलब्ध है। इस प्रकार यह पूरी तरह से मॉड्यूलर और पेड़ से हिलने योग्य है।
निम्नलिखित आयात शैली समर्थित है.
import { initializeApp } from "firebase/app";
import {
getFirestore,
getDoc,
updateDoc
} from 'firebase/firestore/lite';
एपीआई सुविधाएँ फायरस्टोर लाइट द्वारा समर्थित नहीं हैं
आकार और गति के लिए, फायरस्टोर लाइट मानक फायरस्टोर एसडीके से इन सुविधाओं को हटा देता है:
- दस्तावेज़ स्नैपशॉट ईवेंट हैंडलर ।
onSnapshot
विधि औरDocumentChange
,SnapshotListenerOptions
,SnapshotMetadata
,SnapshotOptions
औरUnsubscribe
ऑब्जेक्ट शामिल नहीं हैं। - दृढ़ता सहायक .
enableIndexedDBPersistence
,enableMultiTabIndexedDbPersistence
, औरclearIndexedDbPersistence
विधियाँ शामिल नहीं हैं। - फायरस्टोर बंडल .
loadBundle
विधि और संबंधित विधियां, औरLoadBundleTask
औरLoadBundleTaskProgress
ऑब्जेक्ट शामिल नहीं हैं।
दस्तावेज़ लाने, क्वेरीज़ और अपडेट लागू करें
फायरस्टोर लाइट आयात करने के बाद, आप सभी परिचित एपीआई प्राप्त और अपडेट कॉल कर सकते हैं। डेटा जोड़ने और डेटा प्राप्त करने के लिए उपयोग के मामले सभी लागू होते हैं।
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');
फायरस्टोर लाइट का उपयोग कब करें
यह तय करना मुश्किल हो सकता है कि मानक फायरस्टोर एसडीके की ऑफ़लाइन दृढ़ता और कैशिंग सुविधाओं को कब छोड़ा जाए। फायरस्टोर लाइट के निचले ओवरहेड के लिए इन्हें बदलने का निर्णय लेने से पहले आपको इन सुविधाओं को समझना चाहिए। सामान्य तौर पर, फायरस्टोर लाइट का उपयोग करना है या नहीं, यह तय करते समय इन कारकों पर विचार करें:
- ऑनलाइन स्थिति - फायरस्टोर लाइट उन ऐप्स के लिए अच्छा है जिन्हें लाइव अपडेट की आवश्यकता नहीं है और कनेक्टिविटी है।
- आकार की बाधाएँ - यदि आप अपने समग्र जावास्क्रिप्ट बंडल आकार को कम करना चाहते हैं तो फायरस्टोर लाइट बढ़िया है।