حزمة تطوير البرامج (SDK) للويب في Cloud Firestore Lite
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
Firestore هو حلّ جيد وقابل للتوسّع لقاعدة البيانات، ويساعد في الحفاظ على مزامنة البيانات على جميع برامج الويب.
تتسم ميزة الإتاحة بلا إنترنت المُدارة في Firestore بأهمية خاصة للعديد من التطبيقات،
فهي تتيح لك إنشاء تطبيقات سريعة الاستجابة تعمل بغض النظر عن وقت استجابة الشبكة أو
الاتصال بالإنترنت. ومع ذلك، فإنّ حِزم تطوير البرامج (SDK) الغنية بالميزات تكون كبيرة الحجم. ما هي الميزات التي توفّرها Firebase للتطبيقات التي تحتاج فقط إلى استخدام عمليات الإنشاء والقراءة والتعديل والحذف الأساسية، ولا تحتاج إلى ميزة إتاحة البيانات بلا إنترنت؟
الحل: Firestore Lite
Firestore Lite هي حزمة تطوير برامج (SDK) خفيفة الوزن ومستقلة ومتاحة فقط عبر REST، وتتيح جلب مستند واحد وتنفيذ طلبات البحث وتعديل المستندات، وذلك بحجم أصغر بكثير من حجم حزمة تطوير البرامج العادية على الويب. لا تتضمّن Firestore Lite ميزة تعويض وقت الاستجابة،
والتخزين المؤقت بلا إنترنت، واستئناف الطلبات، وبرامج معالجة اللقطات، ولكن في حالات استخدام معيّنة،
تُعدّ التخفيضات في حجم المكتبة ووقت بدء التشغيل ميزة رائعة.
استيراد Firestore Lite
تتوفّر Firestore Lite من خلال npm كجزء من حزمة تطوير البرامج (SDK) النموذجية. وبالتالي، يمكن تقسيمها إلى وحدات بالكامل ويمكن إزالة الأجزاء غير المستخدَمة منها.
ميزات واجهة برمجة التطبيقات غير المتوافقة مع Firestore Lite
لتحسين الحجم والسرعة، لا تتضمّن Firestore Lite الميزات التالية من حزمة تطوير البرامج (SDK) العادية الخاصة بـ Firestore:
معالجات أحداث DocumentSnapshot لا يتم تضمين الطريقة onSnapshot والكائنات DocumentChange وSnapshotListenerOptions وSnapshotMetadata وSnapshotOptions وUnsubscribe.
أدوات مساعدة في الحفاظ على البيانات لا يتم تضمين الطرق enableIndexedDBPersistence وenableMultiTabIndexedDbPersistence وclearIndexedDbPersistence.
حِزم Firestore لا يتم تضمين الطريقة loadBundle والطرق ذات الصلة، بالإضافة إلى الكائنين LoadBundleTask وLoadBundleTaskProgress.
تنفيذ عمليات جلب المستندات وطلبات البحث والتعديلات
بعد استيراد Firestore Lite، يمكنك إجراء جميع طلبات البيانات من واجهة برمجة التطبيقات المألوفة والحصول على البيانات وتعديلها. تنطبق جميع حالات استخدام إضافة البيانات والحصول على البيانات.
قد يكون من الصعب تحديد الوقت المناسب للتوقّف عن استخدام ميزات التخزين المؤقت وإتاحة البيانات بلا إنترنت في حزمة تطوير البرامج (SDK) العادية من Firestore. يجب فهم هذه الميزات
قبل اتّخاذ قرار بالتخلي عنها مقابل التكلفة المنخفضة لخدمة Firestore Lite. بشكل عام، يجب مراعاة هذه العوامل عند تحديد ما إذا كنت ستستخدم Firestore Lite:
الحالة على الإنترنت: Firestore Lite مناسب للتطبيقات التي لا تحتاج إلى تعديلات مباشرة وتتضمّن إمكانية الاتصال بالإنترنت.
قيود الحجم: Firestore Lite هي الخيار الأمثل إذا كنت تريد تقليل حجم حزمة JavaScript الإجمالي.
تاريخ التعديل الأخير: 2025-08-16 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-08-16 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],null,["# Cloud Firestore Lite Web SDK\n\n\u003cbr /\u003e\n\nFirestore is a good scalable database solution to keep data in sync across Web\nclients.\n\nFor many apps, Firestore's managed offline support is especially important,\nletting you build responsive apps that work regardless of network latency or\nInternet connectivity. But feature-rich SDKs come at a size cost. What\ndoes Firebase offer for apps that only need to use basic create, read, update\nand delete operations, and don't need managed offline support?\n| **Note:** Before using Firestore Lite, be sure you understand the standard Firestore Web API and Firestore's offline capabilities as part of the full [feature set](../index.html). We recommend Firestore Lite for developers who have experience building with Firestore and can evaluate the tradeoffs of using a lightweight version.\n\nSolution: Firestore Lite\n------------------------\n\nFirestore Lite is a lightweight, standalone REST-only Firestore SDK that\nsupports single document fetches, query execution, and document updates, at a\nfraction of the regular Web SDK size. Firestore Lite omits latency compensation,\noffline caching, query resumption and snapshot listeners, but for particular\nuse cases, the reductions in library size and startup time make a great tradeoff.\n\n### Import Firestore Lite\n\nFirestore Lite is available via npm as part of the\n[modular SDK](//firebase.google.com/docs/web/learn-more#modular-version). It is\nthus fully modular and tree-shakeable.\n\nThe following import style is supported. \n\n import { initializeApp } from \"firebase/app\";\n import {\n getFirestore,\n getDoc,\n updateDoc\n } from 'firebase/firestore/lite';\n\n### API features not supported by Firestore Lite\n\nFor size and speed, Firestore Lite omits these features from the standard\nFirestore SDK:\n\n- **DocumentSnapshot event handlers** . The `onSnapshot` method and `DocumentChange`, `SnapshotListenerOptions`, `SnapshotMetadata`, `SnapshotOptions` and `Unsubscribe` objects are not included.\n- **Persistence helpers** . The `enableIndexedDBPersistence`, `enableMultiTabIndexedDbPersistence`, and `clearIndexedDbPersistence` methods are not included.\n- **Firestore bundles** . The `loadBundle` method and related methods, and the `LoadBundleTask` and `LoadBundleTaskProgress` objects are not included.\n\n### Implement document fetches, queries and updates\n\nAfter importing Firestore Lite, you can make all of the familiar API get\nand update calls. The use cases for [adding data](../manage-data/add-data)\nand [getting data](../query-data/get-data) all apply. \n\n import {\n getFirestore,\n getDoc,\n updateDoc,\n doc\n } from '@firebase/firestore/lite';\n\n const firestore = getFirestore(app);\n const docRef = doc(firestore, 'collection/doc');\n const docSnap = await getDoc(docRef);\n await updateDoc(docRef, \"field\", 'value');\n\nWhen to use Firestore Lite\n--------------------------\n\nIt can be tricky to decide when to let go of the standard Firestore SDK's\noffline persistence and caching features. You should understand these features\nbefore deciding to trade them away for the lower overhead of Firestore Lite. In\ngeneral, weigh these factors when deciding whether to use Firestore Lite:\n\n- **Online status** - Firestore Lite is good for apps that do not need live updates and have connectivity.\n- **Size constraints** - Firestore Lite is great if you want to reduce your overall JavaScript bundle size."]]