Firestore یک راهکار پایگاه داده مقیاسپذیر خوب برای همگامسازی دادهها در کلاینتهای وب است.
برای بسیاری از برنامهها، پشتیبانی آفلاین مدیریتشده Firestore بسیار مهم است، و به شما امکان میدهد برنامههای واکنشگرایی بسازید که بدون توجه به تأخیر شبکه یا اتصال اینترنت کار میکنند. اما کیتهای توسعه نرمافزار با ویژگیهای غنی هزینه اندازه دارند. Firebase چه چیزی برای برنامههایی ارائه میدهد که فقط نیاز به استفاده از عملیاتهای اصلی ایجاد، خواندن، بهروزرسانی، و حذف دارند و به پشتیبانی آفلاین مدیریتشده نیاز ندارند؟
راهحل: Firestore Lite
Firestore Lite یک کیت توسعه نرمافزار Firestore سبک، مستقل، و فقط REST است که از واکشی سند تکی، اجرای پُرسمان، و بهروزرسانی سند با کسری از اندازه کیت توسعه نرمافزار وب معمولی پشتیبانی میکند. Firestore Lite جبران تأخیر، ذخیره در حافظه نهان آفلاین، ازسرگیری پُرسمان، و شنوندگان عکس آنی را حذف میکند، اما برای موارد استفاده خاص، کاهش اندازه کتابخانه و زمان راهاندازی، معاوضه بسیار خوبی است.
وارد کردن Firestore Lite
Firestore Lite ازطریق npm بهعنوان بخشی از کیت توسعه نرمافزار پیمانهای دردسترس است. بنابراین کاملاً پودمانی و قابلبهینهسازی است.
سبک وارد کردن زیر پشتیبانی میشود.
import { initializeApp } from "firebase/app";
import {
getFirestore,
getDoc,
updateDoc
} from 'firebase/firestore/lite';
ویژگیهای میانای برنامهسازی کاربردی که Firestore Lite از آنها پشتیبانی نمیکند
برای اندازه و سرعت، 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 صرفنظر کرد، میتواند دشوار باشد. باید این ویژگیها را درک کنید قبلاز اینکه تصمیم بگیرید آنها را با سربار کمتر Firestore Lite معاوضه کنید. بهطور کلی، هنگام تصمیمگیری درباره استفاده از Firestore Lite، این عوامل را بسنجید:
- وضعیت آنلاین - Firestore Lite برای برنامههایی که به بهروزرسانیهای زنده نیاز ندارند و اتصال دارند مناسب است.
- محدودیتهای اندازه - اگر میخواهید اندازه کلی بسته جاوا اسکریپت خود را کاهش دهید، Firestore Lite عالی است.