वेब क्लाइंट में डेटा को सिंक में रखने के लिए फायरस्टार एक अच्छा स्केलेबल डेटाबेस समाधान है।
कई ऐप के लिए, फायरस्टोर का प्रबंधित ऑफ़लाइन समर्थन विशेष रूप से महत्वपूर्ण है, जिससे आप उत्तरदायी ऐप बना सकते हैं जो नेटवर्क विलंबता या इंटरनेट कनेक्टिविटी की परवाह किए बिना काम करते हैं। लेकिन सुविधा संपन्न एसडीके एक बड़ी कीमत पर आते हैं। Firebase उन ऐप्स के लिए क्या ऑफ़र करता है जिन्हें केवल बुनियादी बनाने, पढ़ने, अपडेट करने और हटाने के कार्यों का उपयोग करने की आवश्यकता होती है, और जिन्हें प्रबंधित ऑफ़लाइन समर्थन की आवश्यकता नहीं होती है?
उपाय: फायरस्टोर लाइट
फायरस्टार लाइट एक हल्का, स्टैंडअलोन रेस्ट-ओनली फायरस्टोर एसडीके है जो नियमित वेब एसडीके आकार के एक अंश पर एकल दस्तावेज़ लाने, क्वेरी निष्पादन और दस्तावेज़ अपडेट का समर्थन करता है। फायरस्टार लाइट विलंबता मुआवजा, ऑफ़लाइन कैशिंग, क्वेरी फिर से शुरू करना और स्नैपशॉट श्रोताओं को छोड़ देता है, लेकिन विशेष उपयोग के मामलों के लिए, पुस्तकालय के आकार और स्टार्टअप समय में कमी एक अच्छा संतुलन बनाती है।
फायरस्टार लाइट आयात करें
फायरस्टोर लाइट मॉड्यूलर एसडीके के हिस्से के रूप में एनपीएम के माध्यम से उपलब्ध है। इस प्रकार यह पूरी तरह से मॉड्यूलर और ट्री-शेकेबल है।
निम्नलिखित आयात शैली समर्थित है।
import { initializeApp } from "firebase/app";
import {
getFirestore,
getDoc,
updateDoc
} from 'firebase/firestore/lite';
फायरस्टोर लाइट द्वारा एपीआई सुविधाओं का समर्थन नहीं किया जाता है
आकार और गति के लिए, Firestore Lite मानक Firestore SDK से इन सुविधाओं को छोड़ देता है:
- दस्तावेज़ स्नैपशॉट ईवेंट हैंडलर ।
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');
फायरस्टार लाइट का उपयोग कब करें
यह तय करना मुश्किल हो सकता है कि मानक फायरस्टार एसडीके की ऑफ़लाइन दृढ़ता और कैशिंग सुविधाओं को कब जाने दिया जाए। फायरस्टोर लाइट के निचले ओवरहेड के लिए उन्हें व्यापार करने का निर्णय लेने से पहले आपको इन सुविधाओं को समझना चाहिए। सामान्य तौर पर, फायरस्टार लाइट का उपयोग करने का निर्णय लेते समय इन कारकों का ध्यान रखें:
- ऑनलाइन स्थिति - फायरस्टार लाइट उन ऐप्स के लिए अच्छा है जिन्हें लाइव अपडेट की आवश्यकता नहीं है और कनेक्टिविटी है।
- आकार की कमी - यदि आप अपने समग्र जावास्क्रिप्ट बंडल आकार को कम करना चाहते हैं तो फायरस्टोर लाइट बहुत अच्छा है।