ওয়েব ক্লায়েন্ট জুড়ে ডেটা সিঙ্কে রাখার জন্য Firestore হল একটি ভাল মাপযোগ্য ডাটাবেস সমাধান।
অনেক অ্যাপের জন্য, Firestore-এর পরিচালিত অফলাইন সমর্থন বিশেষভাবে গুরুত্বপূর্ণ, আপনাকে প্রতিক্রিয়াশীল অ্যাপ তৈরি করতে দেয় যা নেটওয়ার্ক লেটেন্সি বা ইন্টারনেট সংযোগ নির্বিশেষে কাজ করে। কিন্তু বৈশিষ্ট্য-সমৃদ্ধ SDK একটি আকার খরচে আসে। ফায়ারবেস এমন অ্যাপগুলির জন্য কী অফার করে যেগুলিকে শুধুমাত্র বেসিক ক্রিয়েট, রিড, আপডেট এবং ডিলিট অপারেশন ব্যবহার করতে হবে এবং ম্যানেজড অফলাইন সাপোর্টের প্রয়োজন নেই?
সমাধান: ফায়ারস্টোর লাইট
Firestore Lite হল একটি লাইটওয়েট, স্বতন্ত্র REST-শুধুমাত্র Firestore SDK যা নিয়মিত ওয়েব SDK আকারের একটি ভগ্নাংশে একক ডকুমেন্ট ফেচ, কোয়েরি এক্সিকিউশন এবং ডকুমেন্ট আপডেট সমর্থন করে৷ Firestore Lite লেটেন্সি ক্ষতিপূরণ, অফলাইন ক্যাশিং, ক্যোয়ারী পুনঃসূচনা এবং স্ন্যাপশট শ্রোতাদের বাদ দেয়, তবে বিশেষ ব্যবহারের ক্ষেত্রে, লাইব্রেরির আকার এবং স্টার্টআপের সময় হ্রাস একটি দুর্দান্ত ট্রেডঅফ করে।
ফায়ারস্টোর লাইট আমদানি করুন
Firestore Lite মডুলার SDK- এর অংশ হিসাবে npm-এর মাধ্যমে উপলব্ধ। এইভাবে এটি সম্পূর্ণরূপে মডুলার এবং গাছ-কাঁপানো যায়।
নিম্নলিখিত আমদানি শৈলী সমর্থিত.
import { initializeApp } from "firebase/app";
import {
getFirestore,
getDoc,
updateDoc
} from 'firebase/firestore/lite';
API বৈশিষ্ট্যগুলি Firestore Lite দ্বারা সমর্থিত নয়৷
আকার এবং গতির জন্য, Firestore Lite স্ট্যান্ডার্ড Firestore SDK থেকে এই বৈশিষ্ট্যগুলি বাদ দেয়:
- ডকুমেন্টস্ন্যাপশট ইভেন্ট হ্যান্ডলার ।
onSnapshot
পদ্ধতি এবংDocumentChange
,SnapshotListenerOptions
,SnapshotMetadata
,SnapshotOptions
এবংUnsubscribe
অবজেক্ট অন্তর্ভুক্ত নয়৷ - অধ্যবসায় সাহায্যকারী .
enableIndexedDBPersistence
,enableMultiTabIndexedDbPersistence
, এবংclearIndexedDbPersistence
পদ্ধতিগুলি অন্তর্ভুক্ত নয়৷ - ফায়ারস্টোর বান্ডিল ।
loadBundle
পদ্ধতি এবং সম্পর্কিত পদ্ধতি এবংLoadBundleTask
এবংLoadBundleTaskProgress
অবজেক্ট অন্তর্ভুক্ত নয়।
নথি আনয়ন, প্রশ্ন এবং আপডেট বাস্তবায়ন করুন
Firestore Lite ইম্পোর্ট করার পর, আপনি পরিচিত সব API গেট এবং আপডেট কল করতে পারবেন। ডেটা যোগ করার এবং ডেটা পাওয়ার ক্ষেত্রে ব্যবহারের ক্ষেত্রে সবই প্রযোজ্য।
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 SDK-এর অফলাইন অধ্যবসায় এবং ক্যাশিং বৈশিষ্ট্যগুলি কখন ছেড়ে দেওয়া হবে তা সিদ্ধান্ত নেওয়া কঠিন হতে পারে। Firestore Lite-এর নিচের ওভারহেডের জন্য এগুলি ট্রেড করার সিদ্ধান্ত নেওয়ার আগে আপনার এই বৈশিষ্ট্যগুলি বোঝা উচিত। সাধারণভাবে, Firestore Lite ব্যবহার করবেন কিনা তা সিদ্ধান্ত নেওয়ার সময় এই বিষয়গুলো বিবেচনা করুন:
- অনলাইন স্ট্যাটাস - ফায়ারস্টোর লাইট এমন অ্যাপগুলির জন্য ভাল যেগুলির লাইভ আপডেটের প্রয়োজন নেই এবং সংযোগ রয়েছে৷
- আকারের সীমাবদ্ধতা - আপনি যদি আপনার সামগ্রিক জাভাস্ক্রিপ্ট বান্ডিলের আকার কমাতে চান তবে ফায়ারস্টোর লাইট দুর্দান্ত৷
ওয়েব ক্লায়েন্ট জুড়ে ডেটা সিঙ্কে রাখার জন্য Firestore হল একটি ভাল মাপযোগ্য ডাটাবেস সমাধান।
অনেক অ্যাপের জন্য, Firestore-এর পরিচালিত অফলাইন সমর্থন বিশেষভাবে গুরুত্বপূর্ণ, আপনাকে প্রতিক্রিয়াশীল অ্যাপ তৈরি করতে দেয় যা নেটওয়ার্ক লেটেন্সি বা ইন্টারনেট সংযোগ নির্বিশেষে কাজ করে। কিন্তু বৈশিষ্ট্য-সমৃদ্ধ SDK একটি আকার খরচে আসে। ফায়ারবেস এমন অ্যাপগুলির জন্য কী অফার করে যেগুলিকে শুধুমাত্র বেসিক ক্রিয়েট, রিড, আপডেট এবং ডিলিট অপারেশন ব্যবহার করতে হবে এবং ম্যানেজড অফলাইন সাপোর্টের প্রয়োজন নেই?
সমাধান: ফায়ারস্টোর লাইট
Firestore Lite হল একটি লাইটওয়েট, স্বতন্ত্র REST-শুধুমাত্র Firestore SDK যা নিয়মিত ওয়েব SDK আকারের একটি ভগ্নাংশে একক ডকুমেন্ট ফেচ, কোয়েরি এক্সিকিউশন এবং ডকুমেন্ট আপডেট সমর্থন করে৷ Firestore Lite লেটেন্সি ক্ষতিপূরণ, অফলাইন ক্যাশিং, ক্যোয়ারী পুনঃসূচনা এবং স্ন্যাপশট শ্রোতাদের বাদ দেয়, তবে বিশেষ ব্যবহারের ক্ষেত্রে, লাইব্রেরির আকার এবং স্টার্টআপের সময় হ্রাস একটি দুর্দান্ত ট্রেডঅফ করে।
ফায়ারস্টোর লাইট আমদানি করুন
Firestore Lite মডুলার SDK- এর অংশ হিসাবে npm-এর মাধ্যমে উপলব্ধ। এইভাবে এটি সম্পূর্ণরূপে মডুলার এবং গাছ-কাঁপানো যায়।
নিম্নলিখিত আমদানি শৈলী সমর্থিত.
import { initializeApp } from "firebase/app";
import {
getFirestore,
getDoc,
updateDoc
} from 'firebase/firestore/lite';
API বৈশিষ্ট্যগুলি Firestore Lite দ্বারা সমর্থিত নয়৷
আকার এবং গতির জন্য, Firestore Lite স্ট্যান্ডার্ড Firestore SDK থেকে এই বৈশিষ্ট্যগুলি বাদ দেয়:
- ডকুমেন্টস্ন্যাপশট ইভেন্ট হ্যান্ডলার ।
onSnapshot
পদ্ধতি এবংDocumentChange
,SnapshotListenerOptions
,SnapshotMetadata
,SnapshotOptions
এবংUnsubscribe
অবজেক্ট অন্তর্ভুক্ত নয়৷ - অধ্যবসায় সাহায্যকারী .
enableIndexedDBPersistence
,enableMultiTabIndexedDbPersistence
, এবংclearIndexedDbPersistence
পদ্ধতিগুলি অন্তর্ভুক্ত নয়৷ - ফায়ারস্টোর বান্ডিল ।
loadBundle
পদ্ধতি এবং সম্পর্কিত পদ্ধতি এবংLoadBundleTask
এবংLoadBundleTaskProgress
অবজেক্ট অন্তর্ভুক্ত নয়।
নথি আনয়ন, প্রশ্ন এবং আপডেট বাস্তবায়ন করুন
Firestore Lite ইম্পোর্ট করার পর, আপনি পরিচিত সব API গেট এবং আপডেট কল করতে পারবেন। ডেটা যোগ করার এবং ডেটা পাওয়ার ক্ষেত্রে ব্যবহারের ক্ষেত্রে সবই প্রযোজ্য।
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 SDK-এর অফলাইন অধ্যবসায় এবং ক্যাশিং বৈশিষ্ট্যগুলি কখন ছেড়ে দেওয়া হবে তা সিদ্ধান্ত নেওয়া কঠিন হতে পারে। Firestore Lite-এর নিচের ওভারহেডের জন্য এগুলি ট্রেড করার সিদ্ধান্ত নেওয়ার আগে আপনার এই বৈশিষ্ট্যগুলি বোঝা উচিত। সাধারণভাবে, Firestore Lite ব্যবহার করবেন কিনা তা সিদ্ধান্ত নেওয়ার সময় এই বিষয়গুলো বিবেচনা করুন:
- অনলাইন স্ট্যাটাস - ফায়ারস্টোর লাইট এমন অ্যাপগুলির জন্য ভাল যেগুলির লাইভ আপডেটের প্রয়োজন নেই এবং সংযোগ রয়েছে৷
- আকারের সীমাবদ্ধতা - আপনি যদি আপনার সামগ্রিক জাভাস্ক্রিপ্ট বান্ডিলের আকার কমাতে চান তবে ফায়ারস্টোর লাইট দুর্দান্ত৷