الخلاصة
Firebase هي منصة Backend-as-a-Service (BaaS) توفر أدوات جاهزة لتطوير التطبيقات. توفر Firebase على المطورين الحاجة إلى بناء بنية تحتية للخادم من الصفر — التحليلات، قواعد البيانات، المصادقة، الإشعارات الفورية وغيرها الكثير متاحة فورًا عبر SDK.
استحوذت Google على Firebase في عام 2014 مقابل 100 مليون دولار ودمجتها مع Google Cloud Platform. تقدم Firebase أكثر من 20 منتجًا يمكن دمجها حسب احتياجات المشروع. معظم الخدمات لها حد مجاني سخي (Spark Plan)، وتتوفر خطة دفع حسب الاستخدام (Blaze Plan) للنمو.
يبدأ دمج Firebase بإنشاء مشروع في Firebase Console وإضافة ملف تكوين (GoogleService-Info.plist لنظام iOS، google-services.json لنظام Android). تدعم Firebase iOS وAndroid وFlutter وReact Native وUnity وتطبيقات الويب، مما يجعلها حلاً عالميًا لأي منصة.
Firebase Analytics هي أداة تحليل مجانية تجمع بيانات حول سلوك المستخدمين. Firebase Analytics هي جوهر المنصة بأكملها — يتم استخدام بيانات التحليلات من قبل جميع خدمات Firebase الأخرى للاستهداف والتخصيص.
Firebase Crashlytics هي الأداة الأكثر شيوعًا لتتبع أعطال التطبيقات. تقوم Crashlytics بجمع stack traces والسجلات وبيانات الجهاز تلقائيًا عند كل تعطل للتطبيق. يتم تجميع التقارير حسب نوع الخطأ، مما يسمح بتحديد المشكلات الأكثر خطورة بسرعة.
تدعم Crashlytics السجلات المخصصة والمفاتيح والاستثناءات غير المميتة. تتيح الاستثناءات غير المميتة تتبع الأخطاء المعالجة دون تعطل التطبيق — على سبيل المثال، طلب API فاشل أو استثناء في منطق الأعمال.
Firebase Performance هي أداة لمراقبة أداء التطبيق. تتتبع Performance وقت بدء التشغيل وزمن استجابة الشبكة وعرض الشاشات وطلبات HTTP. تحدد الاختناقات التي تبطئ التطبيق وتضعف تجربة المستخدم.
يتيح دمج Firebase Analytics مع Crashlytics رؤية ليس فقط ما تعطل، ولكن أيضًا الإجراءات التي سبقت التعطل. تستخدم IT Sectr هذا المزيج للتشخيص السريع للأخطاء في الإنتاج — يقل الوقت من الاكتشاف إلى الإصلاح بمقدار 3–4 مرات.
تقدم Firebase قاعدتي بيانات NoSQL وتخزينًا سحابيًا للملفات. يعتمد الاختيار بين Firestore وRealtime Database على حالة الاستخدام — كلا القاعدتين تقومان بمزامنة البيانات في الوقت الفعلي ولكن لهما بنى مختلفة.
| الخاصية | Cloud Firestore | Realtime Database |
|---|---|---|
| نموذج البيانات | مجموعات ومستندات (كائنات JSON) | شجرة JSON كبيرة واحدة |
| الاستعلامات | مركبة، فهارس، فرز، تصفية | بسيطة، فرز من عقدة واحدة |
| التوسع | تلقائي، متعدد المناطق | منطقة واحدة، حدود عرض النطاق |
| التسعير | حجم القراءة/الكتابة/الحذف | حجم الحركة والتخزين |
| وضع عدم الاتصال | مدعوم (ذاكرة تخزين مؤقت على القرص) | مدعوم (ذاكرة تخزين مؤقت في الذاكرة) |
| أفضل استخدام | الدردشات، الشبكات الاجتماعية، الاستعلامات المعقدة | الدردشات، الألعاب، المزامنة البسيطة |
Cloud Storage هو تخزين للملفات (الصور، الفيديو، الصوت). يتوسع Firebase Storage تلقائيًا إلى بيتابايت ويوفر تحميلاً موثوقًا مع إمكانية الاستئناف عند انقطاع الاتصال. يتكامل مع Firebase Auth للوصول الآمن.
يوصى باستخدام Firestore للمشاريع الجديدة بسبب استعلاماتها المرنة وقابليتها للتوسع. يظل Realtime Database خيارًا جيدًا للدردشات البسيطة والألعاب بكميات صغيرة من البيانات. تستخدم IT Sectr عادةً Firestore كقاعدة بيانات أساسية وRealtime Database فقط للتعاون في الوقت الفعلي.
Firebase Authentication هو حل جاهز لمصادقة المستخدمين. يدعم Firebase Auth البريد الإلكتروني/كلمة المرور، Google، Apple، Facebook، Twitter، GitHub، المصادقة عبر الهاتف وتسجيل الدخول المجهول. يتم تنفيذ عملية المصادقة بأكملها على جانب العميل عبر SDK.
Google Sign-In هو أحد أشهر مزودي المصادقة. يستغرق دمج Google Sign-In 15–30 دقيقة عبر Firebase Console ولا يتطلب تطويرًا للواجهة الخلفية. يسجل المستخدمون الدخول بنقرة واحدة باستخدام حساب Google الخاص بهم.
توفر Firebase Auth أيضًا وظائف خلفية عبر Admin SDK. يمكنك إنشاء المستخدمين وتحديث الملفات الشخصية وإدارة الجلسات والتحقق من رموز ID على الخادم. يتيح التكامل مع Cloud Functions إنشاء سيناريوهات مصادقة مخصصة.
Security Rules — آلية الأمان في Firebase لقواعد البيانات والتخزين. يتم وصف قواعد الوصول بشكل تصريحي ويتم التحقق منها في كل طلب. على سبيل المثال: السماح بقراءة مستند فقط إذا كان userId يساوي المستخدم المصادق عليه حاليًا.
مثال على Security Rule بسيطة لـ Firestore:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /users/{userId} {
allow read, write: if request.auth.uid == userId;
}
match /posts/{postId} {
allow read: if true;
allow write: if request.auth.uid == resource.data.authorId;
}
}
}
Firebase Cloud Messaging (FCM) هي خدمة لإرسال الإشعارات الفورية. تعالج FCM ما يصل إلى 500 مليار رسالة يوميًا وتدعم iOS وAndroid والويب. تنقسم الرسائل إلى notification messages (عرض تلقائي) وdata messages (معالجة داخل التطبيق).
يسمح Firebase Remote Config بتغيير سلوك التطبيق دون نشر نسخة جديدة. يُستخدم Remote Config لاختبارات A/B وتفعيل/تعطيل الميزات وتخصيص واجهة المستخدم والتغييرات الديناميكية للمعلمات (على سبيل المثال، تكرار الإعلانات، نص paywall).
Firebase A/B Testing هي أداة لإجراء التجارب. أنشئ نسختين من التطبيق بمعلمات مختلفة وقس التأثير على المقاييس (التحويل، الاحتفاظ، الإيرادات). تحسب الاختبارات تلقائيًا الدلالة الإحصائية وتحدد الفائز.
Firebase Dynamic Links هي روابط ذكية تأخذ المستخدم إلى المكان الصحيح في التطبيق. تعمل Dynamic Links حتى إذا لم يتم تثبيت التطبيق — في هذه الحالة تذهب إلى صفحة المتجر، وبعد التثبيت تستعيد السياق وتعيد التوجيه إلى الشاشة المستهدفة.
تستخدم IT Sectr مزيج Remote Config + A/B Testing لتحسين جميع السيناريوهات الرئيسية: من شاشة الترحيب إلى عملية الدفع. يمكن تغيير معلمات Remote Config في الوقت الفعلي عبر Firebase Console — وهذا يوفر مرونة غير متاحة في دورات الإصدار التقليدية.
Firebase Test Lab هو حل سحابي للاختبار التلقائي للتطبيقات. يقوم Test Lab بتشغيل اختباراتك على أجهزة Google حقيقية بتكوينات مختلفة (إصدارات نظام تشغيل مختلفة، دقات شاشة، لغات). يدعم Espresso (Android) وXCUITest (iOS) واختبارات Robo.
Firebase App Distribution هي منصة لتوزيع النسخ التجريبية للتطبيقات. تحل App Distribution محل TestFlight لنظام Android وتكملها لنظام iOS. يمكنك تحميل APK/AAB والحصول على ملاحظات من المختبرين عبر التكامل مع Crashlytics.
يضمن الجمع بين Test Lab وApp Distribution الجودة في جميع مراحل التطوير: من الاختبارات التلقائية على أجهزة حقيقية إلى الاختبار التجريبي مع مستخدمين حقيقيين. التكامل مع CI/CD (GitHub Actions، Bitrise) يجعل العملية تلقائية بالكامل.
| الخدمة | الغرض | الحد المجاني | iOS | Android | Web |
|---|---|---|---|---|---|
| Analytics | جمع وتحليل أحداث المستخدم | غير محدود | + | + | + |
| Crashlytics | تقارير الأعطال | غير محدود | + | + | - |
| Firestore | قاعدة بيانات NoSQL | 1 GB تخزين | + | + | + |
| Realtime DB | قاعدة بيانات في الوقت الفعلي | 1 GB تخزين | + | + | + |
| Auth | مصادقة المستخدمين | غير محدود | + | + | + |
| Cloud Messaging | الإشعارات الفورية | غير محدود | + | + | + |
| Remote Config | إدارة المعلمات | غير محدود | + | + | + |
| Performance | مراقبة الأداء | غير محدود | + | + | + |
| Test Lab | اختبار سحابي | 10 اختبارات/يوم | + | + | - |
| App Distribution | توزيع النسخ التجريبية | غير محدود | + | + | - |
| Cloud Functions | كود خادم عند الطلب | 2 مليون استدعاء/شهر | + | + | + |
الأسئلة الشائعة
Firebase لديها خطة مجانية Spark Plan بحدود سخية — التحليلات وتقارير الأعطال والمصادقة مجانية وغير محدودة. خطة Blaze Plan (الدفع حسب الاستخدام) مطلوبة عند تجاوز الحدود — على سبيل المثال، أكثر من 1 GB في Firestore أو أكثر من 2 مليون استدعاء لـ Cloud Functions. معظم الشركات الناشئة لا تتجاوز الحدود المجانية في أول 1–2 سنوات.
لمعظم المشاريع الجديدة، يوصى باستخدام Firestore. تقدم Firestore قابلية توسع أفضل واستعلامات أكثر ثراءً وتكرارًا متعدد المناطق. يجب اختيار Realtime Database فقط للسيناريوهات البسيطة في الوقت الفعلي (دردشات بكميات صغيرة من البيانات، ألعاب في الوقت الفعلي).
نعم، تستخدم Firebase بروتوكولات مفتوحة ويمكن تصدير البيانات. لدى Firestore تصدير مُدار إلى BigQuery وGoogle Cloud Storage. يمكن ترحيل المصادقة عن طريق تصدير تجزئات كلمات المرور. يمكن إعادة كتابة Cloud Functions بسهولة على أي إطار خلفي.
تستخدم Firebase حماية متعددة المستويات: التشفير على مستوى النقل (TLS) وعلى مستوى التخزين (AES-256). توفر Security Rules تحكمًا تصريحيًا في الوصول. تتوافق Firebase أيضًا مع معايير SOC 1/2/3 وISO 27001 وGDPR.
Firebase تعمل بشكل محدود في الصين بسبب حظر خدمات Google. للسوق الصيني، يجب استخدام بدائل محلية — على سبيل المثال، Alibaba Cloud Push بدلاً من FCM، أو LeanCloud بدلاً من Firebase. كما ستكون Firebase Analytics وCrashlytics غير متاحة بدون VPN.
الملخص
سنقوم بتطوير تطبيق جوال جاهز
تقدم IT Sectr تطبيقات iOS وAndroid للشركات الناشئة والشركات منذ عام 2017. سوف نقدم لك النصح ونقترح أفضل حل.