فایراستور یک راهکار پایگاه داده مقیاسپذیر خوب برای همگامسازی دادهها در بین کلاینتهای وب است.
برای بسیاری از برنامهها، پشتیبانی آفلاین مدیریتشدهی Firestore از اهمیت ویژهای برخوردار است و به شما امکان میدهد برنامههای واکنشگرایی بسازید که صرف نظر از تأخیر شبکه یا اتصال به اینترنت کار کنند. اما SDKهای غنی از ویژگی، هزینهی حجم زیادی دارند. Firebase برای برنامههایی که فقط به عملیات اولیهی ایجاد، خواندن، بهروزرسانی و حذف نیاز دارند و نیازی به پشتیبانی آفلاین مدیریتشده ندارند، چه چیزی ارائه میدهد؟
راه حل: فایر استور لایت
Firestore Lite یک کیت توسعه نرمافزار Firestore سبک و مستقل مبتنی بر REST است که از واکشی تکتک اسناد، اجرای کوئری و بهروزرسانی اسناد، با کسری از اندازه کیت توسعه نرمافزار وب معمولی، پشتیبانی میکند. Firestore Lite جبران تأخیر، ذخیرهسازی آفلاین، از سرگیری کوئری و شنودکنندههای اسنپشات را حذف میکند، اما برای موارد استفاده خاص، کاهش اندازه کتابخانه و زمان راهاندازی، یک مزیت عالی محسوب میشود.
وارد کردن فایراستور لایت
Firestore Lite از طریق npm به عنوان بخشی از SDK ماژولار در دسترس است. بنابراین کاملاً ماژولار و قابل تغییر درخت است.
سبک واردات زیر پشتیبانی میشود.
import { initializeApp } from "firebase/app";
import {
getFirestore,
getDoc,
updateDoc
} from 'firebase/firestore/lite';
ویژگیهای API توسط Firestore Lite پشتیبانی نمیشوند
از نظر اندازه و سرعت، Firestore Lite این ویژگیها را از SDK استاندارد Firestore حذف کرده است:
- کنترلکنندههای رویداد DocumentSnapshot . متد
onSnapshotو اشیاءDocumentChange،SnapshotListenerOptions،SnapshotMetadata،SnapshotOptionsوUnsubscribeشامل نمیشوند. - کمککنندههای Persistence . متدهای
enableIndexedDBPersistence،enableMultiTabIndexedDbPersistenceوclearIndexedDbPersistenceشامل نمیشوند. - بستههای Firestore . متد
loadBundleو متدهای مرتبط، و اشیاءLoadBundleTaskوLoadBundleTaskProgressشامل نمیشوند.
پیادهسازی واکشی اسناد، پرسوجوها و بهروزرسانیها
پس از وارد کردن Firestore Lite، میتوانید تمام فراخوانیهای get و update مربوط به 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 Lite استفاده کنیم
تصمیمگیری در مورد زمان کنار گذاشتن ویژگیهای ذخیرهسازی آفلاین و ذخیرهسازی استاندارد Firestore SDK میتواند دشوار باشد. قبل از تصمیمگیری برای کنار گذاشتن این ویژگیها با هزینه کمتر Firestore Lite، باید آنها را درک کنید. به طور کلی، هنگام تصمیمگیری در مورد استفاده از Firestore Lite، این عوامل را بسنجید:
- وضعیت آنلاین - Firestore Lite برای برنامههایی که نیازی به بهروزرسانیهای زنده ندارند و اتصال دارند، مناسب است.
- محدودیتهای حجم - اگر میخواهید حجم کلی بسته جاوا اسکریپت خود را کاهش دهید، Firestore Lite عالی است.