क्लाउड फायरस्टोर लाइट वेब एसडीके

फायरस्टोर एक अच्छा स्केलेबल डेटाबेस समाधान है जो डेटा को वेब क्लाइंट में सिंक में रखने के लिए है।

कई ऐप्स के लिए, Firestore का प्रबंधित ऑफ़लाइन समर्थन विशेष रूप से महत्वपूर्ण है, जिससे आप ऐसे प्रतिक्रियाशील ऐप्स बना सकते हैं जो नेटवर्क विलंबता या इंटरनेट कनेक्टिविटी की परवाह किए बिना काम करते हैं। लेकिन सुविधा संपन्न एसडीके एक आकार की कीमत पर आते हैं। Firebase उन ऐप्स के लिए क्या ऑफ़र करता है, जिन्हें केवल मूल निर्माण, पढ़ने, अपडेट करने और हटाने के संचालन का उपयोग करने की आवश्यकता होती है, और जिन्हें प्रबंधित ऑफ़लाइन समर्थन की आवश्यकता नहीं होती है?

समाधान: फायरस्टोर लाइट

फायरस्टोर लाइट एक हल्का, स्टैंडअलोन रीस्ट-ओनली फायरस्टोर एसडीके है जो नियमित वेब एसडीके आकार के एक अंश पर एकल दस्तावेज़ फ़ेच, क्वेरी निष्पादन और दस्तावेज़ अपडेट का समर्थन करता है। फायरस्टोर लाइट विलंबता मुआवजे, ऑफ़लाइन कैशिंग, क्वेरी फिर से शुरू और स्नैपशॉट श्रोताओं को छोड़ देता है, लेकिन विशेष उपयोग के मामलों के लिए, पुस्तकालय के आकार और स्टार्टअप समय में कमी एक महान ट्रेडऑफ़ बनाती है।

फायरस्टोर लाइट आयात करें

फायरस्टोर लाइट मॉड्यूलर एसडीके के हिस्से के रूप में एनपीएम के माध्यम से उपलब्ध है। इस प्रकार यह पूरी तरह से मॉड्यूलर और ट्री-हिलाने योग्य है।

निम्नलिखित आयात शैली समर्थित है।

import { initializeApp } from "firebase/app";
import {
   getFirestore,
   enableIndexedDbPersistence,
   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');

फायरस्टोर लाइट का उपयोग कब करें

यह तय करना मुश्किल हो सकता है कि मानक फायरस्टोर एसडीके की ऑफ़लाइन दृढ़ता और कैशिंग सुविधाओं को कब छोड़ा जाए। फायरस्टोर लाइट के निचले ओवरहेड के लिए उन्हें दूर व्यापार करने का निर्णय लेने से पहले आपको इन सुविधाओं को समझना चाहिए। सामान्य तौर पर, फायरस्टोर लाइट का उपयोग करने का निर्णय लेते समय इन कारकों का वजन करें:

  • ऑनलाइन स्थिति - फायरस्टोर लाइट उन ऐप्स के लिए अच्छा है जिन्हें लाइव अपडेट की आवश्यकता नहीं है और जिनके पास कनेक्टिविटी है।
  • आकार की कमी - यदि आप अपने संपूर्ण जावास्क्रिप्ट बंडल आकार को कम करना चाहते हैं तो फायरस्टोर लाइट बहुत अच्छा है।