Cloud Firestore Lite Web SDK

Firestore হল একটি ভাল স্কেলেবল ডেটাবেস সমাধান যা ওয়েব ক্লায়েন্ট জুড়ে ডেটা সিঙ্ক করে রাখে।

অনেক অ্যাপের জন্য, Firestore-এর ম্যানেজ করা অফলাইন সাপোর্ট বিশেষভাবে গুরুত্বপূর্ণ, যা আপনাকে রেসপন্সিভ অ্যাপ তৈরি করতে দেয় যা নেটওয়ার্ক লেটেন্সি বা ইন্টারনেট কানেক্টিভিটি নির্বিশেষে কাজ করে। তবে, অনেক ফিচার সহ SDK-এর সাইজ বড় হয়। যেসব অ্যাপের শুধু তৈরি, পড়া, আপডেট ও মুছে ফেলার মতো প্রাথমিক অপারেশন প্রয়োজন এবং অফলাইন সাপোর্ট ম্যানেজ করার প্রয়োজন নেই, সেগুলির জন্য Firebase কী অফার করে?

সমাধান: Firestore Lite

Firestore Lite হল একটি লাইটওয়েট, স্বতন্ত্র REST-অনলি Firestore SDK যা একক ডকুমেন্ট ফেচ, কোয়েরি এক্সিকিউশন এবং ডকুমেন্ট আপডেট করার সুবিধা দেয়, যা সাধারণ ওয়েব SDK সাইজের একটি ভগ্নাংশ। Firestore Lite-এ লেটেন্সি কম্পেনসেশন, অফলাইন ক্যাশিং, কোয়েরি রিজাম্পশন ও স্ন্যাপশট লিসনার বাদ দেওয়া হয়েছে, তবে নির্দিষ্ট ব্যবহারের ক্ষেত্রে, লাইব্রেরির সাইজ ও স্টার্টআপ টাইম কমানোর ফলে এটি একটি দুর্দান্ত ট্রেডঅফ হয়ে উঠেছে।

Firestore Lite ইম্পোর্ট করুন

Firestore Lite, npm-এর মাধ্যমে মডিউলার SDK-এর অংশ হিসেবে উপলভ্য। তাই এটি সম্পূর্ণ মডিউলার এবং ট্রি-শেকেবল।

নিম্নলিখিত ইমপোর্ট স্টাইল কাজ করে।

import { initializeApp } from "firebase/app";
import {
   getFirestore,
   getDoc,
   updateDoc
} from 'firebase/firestore/lite';

Firestore Lite-এ API ফিচার কাজ করে না

সাইজ ও স্পিডের জন্য, Firestore Lite স্ট্যান্ডার্ড Firestore SDK থেকে এইসব ফিচার বাদ দেয়:

  • DocumentSnapshot ইভেন্ট হ্যান্ডলার। onSnapshot পদ্ধতি এবং DocumentChange, SnapshotListenerOptions, SnapshotMetadata, SnapshotOptions এবং Unsubscribe অবজেক্ট অন্তর্ভুক্ত নয়।
  • পারসিস্টেন্স হেল্পার। enableIndexedDBPersistence, enableMultiTabIndexedDbPersistence এবং clearIndexedDbPersistence পদ্ধতি অন্তর্ভুক্ত নয়।
  • Firestore বান্ডেল। loadBundle পদ্ধতি এবং সম্পর্কিত পদ্ধতি এবং LoadBundleTask এবং LoadBundleTaskProgress অবজেক্ট অন্তর্ভুক্ত নয়।

ডকুমেন্ট ফেচ, কোয়েরি ও আপডেট প্রয়োগ করুন

Firestore Lite ইমপোর্ট করার পরে, আপনি পরিচিত সব API-এর get ও update কল করতে পারবেন। ডেটা যোগ করা এবং ডেটা পাওয়ার ক্ষেত্রে সব ধরনের ব্যবহার প্রযোজ্য।

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 সেইসব অ্যাপের জন্য ভালো যেগুলির লাইভ আপডেট প্রয়োজন হয় না এবং কানেক্টিভিটি থাকে।
  • সাইজ সংক্রান্ত সীমাবদ্ধতা - আপনি যদি সামগ্রিক জাভাস্ক্রিপ্ট বান্ডেলের সাইজ কমাতে চান, তাহলে Firestore Lite ব্যবহার করা খুবই ভালো।