مقدمة في Firebase: خدمات Google الجاهزة
تخيّل أنك صممت تطبيق موبايل رائعاً، وتحتاج الآن إلى: تسجيل دخول للمستخدمين، وقاعدة بيانات لحفظ بياناتهم، ومكان لرفع الصور، وإرسال إشعارات. بناء كل هذا من الصفر يحتاج خادماً ووقتاً وخبرة كبيرة. Firebase يقدّم لك كل هذا جاهزاً. في هذا الدرس ستتعرف على Firebase وأهم خدماته، ومتى تستخدمه.
ما هو Firebase؟
Section titled “ما هو Firebase؟”Firebase منصة من Google تقدّم مجموعة من الخدمات السحابية الجاهزة لمطوري تطبيقات الموبايل والويب. بدأت كشركة ناشئة عام 2011، ثم استحوذت عليها Google عام 2014، وأصبحت اليوم من أشهر الأدوات بين المطورين.
يوصف Firebase بأنه Backend as a Service (BaaS)، أي «الخادم كخدمة». فبدلاً من أن تبني الخادم وتديره بنفسك، تستأجر خدمات جاهزة وتربطها بتطبيقك ببضعة أسطر من الكود.
تخيّل أنك تريد افتتاح مطعم. يمكنك أن تبني المطبخ بنفسك وتشتري الأفران وتوظف الطهاة وتتعامل مع الصيانة. أو يمكنك أن تتعاقد مع مطبخ مركزي جاهز يجهّز الطعام بمعايير عالية، وتتفرغ أنت لتصميم صالة جميلة وخدمة الزبائن. Firebase هو هذا المطبخ المركزي لتطبيقك.
أهم خدمات Firebase
Section titled “أهم خدمات Firebase”| الخدمة | وظيفتها |
|---|---|
| Authentication | تسجيل دخول المستخدمين بالبريد، أو بحساب Google، أو برقم الهاتف |
| Cloud Firestore | قاعدة بيانات NoSQL سحابية تخزن البيانات كمستندات ومجموعات |
| Realtime Database | قاعدة بيانات أقدم تتزامن لحظياً بين الأجهزة |
| Cloud Storage | تخزين الملفات مثل الصور والفيديوهات |
| Hosting | استضافة مواقع الويب بسرعة وأمان |
| Cloud Messaging | إرسال الإشعارات إلى الهواتف |
| Analytics و Crashlytics | فهم استخدام تطبيقك وتتبع الأعطال |
ميزة التزامن اللحظي
Section titled “ميزة التزامن اللحظي”من أجمل مزايا قواعد بيانات Firebase أن التغييرات تصل إلى كل الأجهزة لحظياً. فإذا أرسل صديقك رسالة في تطبيق محادثة مبني على Firestore، تظهر عندك فوراً دون أن تحدّث الصفحة. هذا يجعل بناء تطبيقات المحادثة والألعاب الجماعية أسهل بكثير.
Firebase و Flutter
Section titled “Firebase و Flutter”Firebase يعمل مع منصات كثيرة: أندرويد و iOS والويب و Flutter. والثنائي Flutter و Firebase شائع جداً، لأن كليهما من Google ومتكاملان بشكل ممتاز. فيمكنك بناء تطبيق كامل بتسجيل دخول وقاعدة بيانات دون أن تكتب سطراً واحداً من كود الخادم.
كيف تبدأ؟
Section titled “كيف تبدأ؟”- افتح Firebase Console (console.firebase.google.com) وسجّل الدخول بحساب Google.
- اضغط إضافة مشروع (Add project)، واختر اسماً لمشروعك.
- أضف تطبيقك إلى المشروع: اختر المنصة (أندرويد، أو iOS، أو ويب).
- ستحصل على إعدادات الربط، وهي بيانات تعرّف تطبيقك على مشروع Firebase.
- فعّل الخدمات التي تحتاجها، مثل Authentication و Firestore.
لمحة عن الكود
Section titled “لمحة عن الكود”هذا شكل ربط تطبيق ويب بـ Firebase باستخدام JavaScript، فقط لتأخذ فكرة:
import { initializeApp } from "firebase/app";
const firebaseConfig = { apiKey: "...", projectId: "my-project", // باقي الإعدادات من Firebase Console};
const app = initializeApp(firebaseConfig);السطر الأخير يربط تطبيقك بمشروع Firebase، وبعدها تستطيع استخدام أي خدمة. سنشرح الخطوات بالتفصيل في درس «إنشاء مشروع».
التكلفة: هل Firebase مجاني؟
Section titled “التكلفة: هل Firebase مجاني؟”Firebase فيه خطة مجانية اسمها Spark، فيها حدود سخية تكفي للتعلم والمشاريع الصغيرة. وعندما يكبر تطبيقك ويزيد مستخدموه، يمكنك الانتقال إلى خطة Blaze التي تدفع فيها حسب الاستخدام الفعلي.
مزايا وعيوب
Section titled “مزايا وعيوب”المزايا:
- سرعة كبيرة في بناء التطبيقات، فلا تحتاج لبناء خادم.
- بنية تحتية قوية من Google تتحمل ملايين المستخدمين.
- تزامن لحظي، وخطة مجانية للبداية.
العيوب:
- الارتباط بمنصة واحدة: إذا أردت الانتقال لاحقاً إلى خدمة أخرى، سيكون ذلك صعباً.
- التكلفة مع النمو: التطبيقات الكبيرة جداً قد تصبح تكلفتها مرتفعة.
- محدودية بعض الاستعلامات: Firestore لا يدعم كل أنواع البحث التي توفرها قواعد SQL.
جرّب بنفسك
Section titled “جرّب بنفسك”- ادخل إلى Firebase Console بحساب Google الخاص بك.
- أنشئ مشروعاً تجريبياً باسم
my-first-firebase. - تجوّل في القائمة الجانبية وتعرّف على أسماء الخدمات التي ذكرناها في الجدول.
- افتح Firestore Database واقرأ الخيارات المعروضة (لا تحتاج أن تنشئ شيئاً الآن).
أخطاء شائعة
Section titled “أخطاء شائعة”- ترك قاعدة البيانات مفتوحة: قواعد الأمان المفتوحة للجميع مقبولة للتجربة فقط وليوم أو يومين.
- الخلط بين Firestore و Realtime Database: هما خدمتان مختلفتان. للمشاريع الجديدة، Firestore هي الخيار الأشهر.
- رفع إعدادات حساسة: ملفات الإعدادات العادية ليست سراً، لكن مفاتيح الخدمة الإدارية (Service Account) سرية جداً، فلا ترفعها أبداً على GitHub.
اختبر نفسك
Section titled “اختبر نفسك”سؤال
ماذا يعني أن Firebase «Backend as a Service»؟
Firebase يوفر قاعدة البيانات وتسجيل الدخول والتخزين وغيرها كخدمات جاهزة.
سؤال
أي خدمة في Firebase مسؤولة عن تسجيل دخول المستخدمين؟
Authentication تدير تسجيل الدخول بالبريد وحسابات Google ورقم الهاتف وغيرها.
الخلاصة
Section titled “الخلاصة”- Firebase منصة من Google تقدّم خدمات الخادم جاهزة (BaaS) لتطبيقات الموبايل والويب.
- أهم خدماته: Authentication و Firestore و Storage و Hosting و Cloud Messaging.
- قواعد بياناته تتزامن لحظياً بين الأجهزة، ويتكامل بشكل ممتاز مع Flutter.
- تبدأ من Firebase Console بإنشاء مشروع وربط تطبيقك به.
- فيه خطة مجانية للتعلم، واحمِ بياناتك دائماً بقواعد الأمان.