يمثل Firestore حلاً جيدًا لقواعد البيانات قابلاً للتوسع للحفاظ على تزامن البيانات على الويب الدائمين.
بالنسبة إلى العديد من التطبيقات، يكون الدعم المُدار بلا اتصال بالإنترنت من Firestore مهمًا بشكل خاص، مما يتيح لك إنشاء تطبيقات سريعة الاستجابة تعمل بغض النظر عن وقت استجابة الشبكة أو اتصال بالإنترنت. ولكن حِزم تطوير البرامج (SDK) المليئة بالميزات تتطلب تكلفة كبيرة. المزايا هل يوفّر Firebase للتطبيقات التي تحتاج فقط إلى أدوات الإنشاء والقراءة والتحديث الأساسية؟ وحذف العمليات، ولا تحتاج إلى دعم مُدار بلا اتصال؟
الحل: Firestore Lite
Firestore Lite هي حزمة SDK خفيفة ومستقلة ومستقلة من فئة REST فقط في Firestore، عمليات استرجاع مستندات فردية وتنفيذ طلب البحث وتحديثات المستندات، من الحجم العادي لحزمة SDK على الويب. تحذف Firestore Lite تعويض وقت الاستجابة، التخزين المؤقت بلا اتصال بالإنترنت واستئناف طلبات البحث وأدوات معالجة اللقطات، ولكن بشكل خاص فإن انخفاض حجم المكتبة ووقت بدء التشغيل يُعد مفاضلة كبيرة.
استيراد Firestore Lite
يتوفّر Firestore Lite من خلال npm كجزء من حزمة تطوير برامج (SDK) نموذجية من المهم وبالتالي وحدة تمامًا وقابلة للاهتزاز على الأشجار.
يتوفر نمط الاستيراد التالي.
import { initializeApp } from "firebase/app";
import {
getFirestore,
getDoc,
updateDoc
} from 'firebase/firestore/lite';
ميزات واجهة برمجة التطبيقات غير المتاحة في Firestore Lite
بالنسبة إلى الحجم والسرعة، تحذف Firestore Lite هذه الميزات من حزمة تطوير البرامج في Firestore:
- معالِجات أحداث DocumentSnapshot: تتيح الطريقة
onSnapshot
DocumentChange
وSnapshotListenerOptions
وSnapshotMetadata
العناصرSnapshotOptions
وUnsubscribe
غير مضمّنة. - أدوات مساعدة على المثابرة:
enableIndexedDBPersistence
،enableMultiTabIndexedDbPersistence
وclearIndexedDbPersistence
طريقة غير متضمنة. - حِزم متاجر النار: الطريقة
loadBundle
والمعلومات ذات الصلة ولا ينطبق العنصرانLoadBundleTask
وLoadBundleTaskProgress
.
تنفيذ عمليات جلب المستندات وطلبات البحث والتحديثات
بعد استيراد Firestore Lite، يمكنك الاستفادة من كل واجهات برمجة التطبيقات المألوفة المكالمات وتحديثها. حالات الاستخدام لإضافة البيانات والحصول على البيانات.
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
قد يكون من الصعب تحديد وقت التخلي عن حزمة تطوير البرامج (SDK) العادية من Firestore ميزات الاحتفاظ والتخزين المؤقت دون اتصال بالإنترنت. يجب أن تفهم هذه الميزات قبل اتخاذ قرار باستبدالها بتكاليف أقل من Firestore Lite. ضِمن بشكل عام، يُرجى وضع هذه العوامل في الاعتبار عند تحديد ما إذا كنت تريد استخدام Firestore Lite:
- حالة الاتصال بالإنترنت: تُعدّ Firestore Lite مناسبة للتطبيقات التي لا تحتاج إلى بث مباشر. التحديثات والاتصال.
- قيود الحجم - يعد Firestore Lite أمرًا رائعًا إذا كنت تريد تقليل الحجم الإجمالي لحزمة JavaScript.