Firebase
منصّة متكاملة من Google توفّر «خلفية» جاهزة لتطبيقاتك دون الحاجة إلى إدارة خوادم. تجمع Firebase المصادقة وقواعد البيانات اللحظية والتخزين والوظائف السحابية في مكان واحد، لتتفرّغ أنت لبناء المنتج بدل إعداد البنية التحتية.
مقدمة تعريفية
ما هي Firebase ولماذا تُسمّى Backend‑as‑a‑Service.
Firebase هي مجموعة خدمات سحابية تتولّى الجانب الخلفي من التطبيق: تخزين البيانات، تسجيل المستخدمين، رفع الملفات، والإشعارات — كلّها عبر واجهات برمجية جاهزة. هذا النموذج يُعرف بـ Backend‑as‑a‑Service، إذ يحلّ محل بناء خادم كامل من الصفر.
مثالية للمطوّرين المستقلّين والفرق الصغيرة والشركات الناشئة التي تريد إطلاق منتج بسرعة. تتكامل بسلاسة مع تطبيقات الويب وFlutter وAndroid وiOS.
ملاحظة: هذه الصفحة تعليمية تشرح مفاهيم Firebase بشكل عام، ولا ترتبط بأي إعدادات أو مفاتيح خاصة بمشروعك.
لماذا يجب تعلّم Firebase؟
أسباب جعلتها الخيار الأسرع لبناء التطبيقات.
- إطلاق سريع: خلفية جاهزة تختصر أسابيع من إعداد الخوادم والبنية التحتية.
- تزامن لحظي: تحديث البيانات على جميع الأجهزة فور تغيّرها.
- تكامل سهل: حزم رسمية للويب وFlutter وAndroid وiOS.
- قابلية التوسّع: بنية Google تتعامل مع النمو دون إعادة هيكلة.
- طبقة مجانية سخيّة: تكفي لبناء واختبار المشاريع قبل التوسّع.
أهم خدمات Firebase
اللبنات الرئيسية التي تبني عليها تطبيقك.
Authentication
نظام مصادقة كامل لتسجيل الدخول عبر البريد وكلمة المرور، أو حسابات Google وApple وFacebook، أو رقم الهاتف — مع إدارة الجلسات بأمان.
Cloud Firestore
قاعدة بيانات NoSQL مرنة تخزّن البيانات في «مستندات ومجموعات»، وتزامنها لحظيًا بين جميع المستخدمين مع دعم العمل دون اتصال.
Storage
تخزين سحابي للملفات الكبيرة كالصور والفيديو والمستندات، مع روابط آمنة وقواعد وصول دقيقة.
Cloud Functions
كود خلفي يعمل تلقائيًا استجابةً للأحداث (إنشاء مستخدم، تعديل مستند) دون إدارة خادم.
Authentication — المصادقة
إدارة هوية المستخدمين بأمان.
توفّر خدمة Authentication طرق تسجيل دخول متعدّدة جاهزة: البريد وكلمة المرور، مزوّدو الهوية (Google، Apple، Facebook)، وتسجيل الدخول عبر رقم الهاتف. تتكفّل Firebase بتخزين كلمات المرور المشفّرة وإدارة الجلسات والرموز (Tokens)، فلا تحتاج لبناء ذلك بنفسك.
تتكامل مع باقي الخدمات لتقييد الوصول؛ فمثلًا يمكنك السماح للمستخدم بقراءة بياناته فقط عبر قواعد الأمان (Security Rules).
Cloud Firestore — قاعدة البيانات
تخزين ومزامنة البيانات لحظيًا.
Firestore قاعدة بيانات من نوع NoSQL تنظّم البيانات في مجموعات (Collections) تحتوي مستندات (Documents)، وكل مستند مجموعة من الحقول. ميزتها الأبرز التزامن اللحظي: أي تغيير ينعكس فورًا على كل الأجهزة المتصلة.
تدعم الاستعلامات المرنة والفهرسة التلقائية والعمل دون اتصال، ما يجعلها مثالية لتطبيقات الدردشة والمتاجر ولوحات التحكّم.
Storage و Cloud Functions
تخزين الملفات وتشغيل منطق خلفي تلقائي.
Cloud Storage
يخزّن الملفات الثقيلة (صور المستخدمين، الفيديوهات، الملفات) بأمان وبروابط قابلة للتحكّم، ويتكامل مع قواعد الأمان لتقييد من يرفع أو يقرأ كل ملف.
Cloud Functions
يُشغّل كودًا على الخادم استجابةً لأحداث Firebase أو طلبات HTTP — مثل إرسال بريد ترحيبي عند التسجيل أو معالجة دفعة بعد إتمامها — دون إدارة بنية تحتية.
حالات استخدام عملية
سيناريوهات حقيقية تجمع خدمات Firebase معًا.
تطبيق دردشة
Authentication لتسجيل الدخول، وFirestore لمزامنة الرسائل لحظيًا.
متجر إلكتروني
Firestore للمنتجات والطلبات، وStorage لصور المنتجات، وFunctions للدفع.
تطبيق مهام
تخزين المهام في Firestore مع مزامنتها عبر أجهزة المستخدم.
مشاركة الصور
رفع الصور إلى Storage وحفظ بياناتها الوصفية في Firestore.
الإشعارات
إرسال إشعارات للمستخدمين عبر Cloud Messaging عند وقوع حدث.
لوحة تحكّم
عرض بيانات لحظية وتحليلات الاستخدام عبر Firestore وAnalytics.
المهارات الأساسية المطلوبة
ما يلزمك للاستفادة الكاملة من Firebase.
- أساسيات JavaScript أو Dart: للتعامل مع حزم Firebase في الويب أو Flutter.
- مفهوم NoSQL: التفكير في البيانات كمجموعات ومستندات بدل جداول.
- المصادقة: فهم تدفّق تسجيل الدخول وإدارة جلسة المستخدم.
- قواعد الأمان: كتابة Security Rules لحماية البيانات والملفات.
- غير المتزامن: التعامل مع Promises وasync/await عند جلب البيانات.
- بنية المشروع: تنظيم الاتصال بالخدمات وفصل المنطق عن الواجهة.
خارطة طريق للمبتدئ
من إنشاء المشروع إلى تطبيق متكامل.
إنشاء المشروع
أنشئ مشروعًا في لوحة تحكّم Firebase واربطه بتطبيقك.
المصادقة
فعّل Authentication وأضف تسجيل الدخول بالبريد وكلمة المرور.
قاعدة البيانات
أنشئ مجموعات في Firestore واقرأ واكتب البيانات.
التخزين
أضف Storage لرفع الصور والملفات وعرضها.
قواعد الأمان
اكتب Security Rules لحماية بيانات كل مستخدم.
مشروع متكامل
اجمع الخدمات في تطبيق حقيقي مثل قائمة مهام أو دردشة.
أمثلة عملية
أكواد تعليمية توضّح استخدام حزمة الويب (JavaScript).
تسجيل الدخول
مصادقة مستخدم عبر البريد وكلمة المرور.
import { signInWithEmailAndPassword }
from "firebase/auth";
await signInWithEmailAndPassword(
auth, "user@mail.com", "password123"
);
إضافة مستند (Firestore)
حفظ بيانات في مجموعة users.
import { collection, addDoc }
from "firebase/firestore";
await addDoc(collection(db, "users"), {
name: "سارة", age: 22
});
قراءة لحظية
الاستماع لتغيّرات مجموعة فور حدوثها.
import { onSnapshot, collection }
from "firebase/firestore";
onSnapshot(collection(db, "messages"), (snap) => {
snap.forEach(doc => console.log(doc.data()));
});
رفع ملف (Storage)
رفع صورة إلى التخزين السحابي.
import { ref, uploadBytes }
from "firebase/storage";
const fileRef = ref(storage, "images/pic.jpg");
await uploadBytes(fileRef, file);
أسئلة شائعة
أكثر ما يتساءل عنه المطوّرون حول Firebase.
هل Firebase مجانية؟
تقدّم طبقة مجانية (Spark) سخيّة تكفي للتعلّم والمشاريع الصغيرة، وعند التوسّع يمكن الترقية لخطة الدفع حسب الاستخدام (Blaze).
ما الفرق بين Firestore و Realtime Database؟
كلاهما لحظي، لكن Firestore أحدث ويدعم استعلامات أقوى وبنية مستندات ومجموعات وقابلية توسّع أفضل، وهو الخيار المنصوح به لمعظم المشاريع الجديدة.
هل أحتاج خادمًا خاصًا مع Firebase؟
غالبًا لا. توفّر Firebase الخلفية كاملة، ولأي منطق مخصّص يمكنك استخدام Cloud Functions دون إدارة خادم بنفسك.
كيف أحمي بيانات المستخدمين؟
عبر قواعد الأمان (Security Rules) التي تحدّد من يستطيع القراءة والكتابة لكل مستند أو ملف، بالاعتماد على هوية المستخدم المُصادَق.
تابع رحلتك في البرمجة
انتقل إلى بقية المسارات التعليمية في قسم البرمجة.