ما هو فايربيز Firebase؟ وما الغاية منه؟
إذا كنت من نوع الأشخاص المبادرين الذي يُحب تلبية الاحتياجات الإنسانية العاجلة من خلال تطبيق جوال، فلا بدّ أن تتعرف إلى Firebase.
ما هو فايربيز Firebase؟ وما الغاية منه؟
Firebase منصة أطلقتها شركة غوغل مختصة بتطوير تطبيقات الأجهزة الذكية، تتضمن المنصة مجموعة أدوات تغطي جزء كبير من الخدمات التي عادة ما يكون على المطورين بناءها بأنفسهم، ولكنهم يفضلون التركيز على تجربة التطبيق نفسه. يتضمن ذلك: التحليلات والمصادقة وقواعد البيانات وتخزين الملفات.. إلخ.
تُستضاف الخدمات في استضافة سحابية، ويمكن توسيعها دون أي جهد يذكر من جانب المطور. ونقصد بالاستضافة السحابية أن المنتجات تحتوي على خدمات خلفية تعمل شركة غوغل على صيانتها وتشغيلها بشكلٍ كامل. تتفاعل حزمة أدوات تطوير البرمجيات(SDK) التي توفرها فايربيز مع هذه الخدمات الخلفية مباشرة، دون الحاجة إلى أي برامج وسيطة بين تطبيقك والخدمة.
لذلك، إذا كنت تستخدم أحد خيارات قاعدة بيانات فايربيز، فعادة ما ستكتب كودًا للاستعلام عن قاعدة بيانات تطبيقك.
يختلف هذا عن تطوير التطبيق بالشكل التقليدي، والذي يتضمن عادةً كتابة برامج الواجهة الأمامية والخلفية. تستدعي كود الواجهة الأمامية للتطبيق المسارات النهائية لواجهة برمجة التطبيقات التي تتعرض لها الواجهة الخلفية، ليعمل كود الواجهة الخلفية بالفعل. على الطرف الآخر، تتجاوز أدوات فايربيز الواجهة الخلفية التقليدية لتترك المهمة للعميل، حيث يتوفر الوصول إلى كل من هذه الأدوات بواسطة وحدة التحكم في فايربيز.
نظرًا للطريقة التي تعمل بها أدوات فايربيز Firebase، قد يُطلق البعض على الأخير اسم “المنصة كخدمة” أو “الواجهة الخلفية كخدمة”. لكن أفضّل ألا نضع فايربيز Firebase ضمن أحد هذين القالبين، وسأبيّن لك السبب بعد قليل.
ما نوع التطبيقات الذي تتلائم مع فايربيز Firebase؟
في الحقيقة، لا يوجد حد لأنواع التطبيقات التي تتلائم مع فايربيز Firebase، إنما فقط حدود للمنصات التي يمكن استخدامها معها.
يمثل نظامي آي آو آس iOS و آندرويد Android هدفيّ حزمة برمجيات التطوير “SDK” لفايربيز الرئيسيين، وهناك دعم متزايد للويب ومجموعة تطوير برمجيات واجهات المستخدم (Flutter) مفتوحة المصدر، إضافة لمحرك الألعاب (Unity) ولغة البرمجة ++C.
علاوة على حزم برمجيات التطوير، توجد مكتبة تسمى FirebaseUI توفر مجموعة من الأدوات المساعدة المفيدة لجعل التطوير مع فايربيز أسهل. وهناك أيضًا مشاريع مثل AngularFire التي تُخضع حزم برمجيات التطوير على الويب للاستخدام مع إطار عمل أنجولار Angular الخاص بتصميم واجهات مواقع الويب. وهي مفتوحة المصدر بالمناسبة.
إذًا، ما هو فايربيز Firebase؟
قاعدة بيانات في الوقت الفعلي (Realtime Database)
البيانات في الوقت الحقيقي هي الطريق للمستقبل. فلا شيء يقارن بها.
تتطلب منك معظم قواعد البيانات استدعاء بروتوكول (HTTP) للحصول على بياناتك ومزامنتها. لذا فهي تمنحك البيانات “فقط” عند طلبها/استدعائها.
عندما تربط تطبيقك بفايربيز Firebase، فأنت لا تتصل عبر بروتوكول HTTP العادي. بل عبر بروتوكول WebSockets (وهو بروتوكول أسرع بكثير من HTTP). ليس ذلك فحسب، بل يزامن فايربيز جميع بياناتك تلقائيًا عبر WebSocket الفردي بأسرع ما يمكن لشبكة المستخدم تحمله.
يرسل فايربيز بيانات جديدة بمجرد تحديثها. عندما يحفظ عميلك (المستخدم) تغييرًا في البيانات، يتلقى جميع العملاء المتصلين البيانات المحدّثة آنيًا.
مساحة تخزين (File Storage)
يوفر Firebase Storage طريقة بسيطة لحفظ الملفات على خدمة Google Cloud Storage مباشرة من العميل!
ويحتوي Firebase Storage على نظام خاص به من قواعد الأمان لحماية دلو GCloud الخاص بك من الجماهير ، مع منح امتيازات كتابة مفصلة لعملائك المصادق عليهم.
يحتوي Firebase Storage على نظام خاص به من قواعد الأمان لحماية مجموعة خدمات الحوسبة السحابية (GCloud) خاصتك من تعدلات الجمهور (العامة)، مع منح امتيازات كتابة منفصلة لعملائك المُصرّح لهم.
نظام مصادقة (Authentication)
يحتوي (Firebase auth) على نظام مصادقة للبريد الإلكتروني وكلمة المرور. كما يدعم نظام المصادقة الثنائية لجوجل وفيسبوك وتويتر.
ومن مزايا أداة Firebase Auth: قدرته على الاندماج مباشرة في قاعدة بيانات فايربيز، بحيث يمكنك استخدامها للتحكم في الوصول إلى بياناتك.
نظام استضافة (Hosting)
يتضمن فايربيز خدمة استضافة سهلة الاستخدام لجميع ملفاتك الثابتة. ولجعل عملية التطوير أكثر سهولة، يستخدم فايربيز خدمة استضافة Firebase Superstatic، والتي يمكنك تشغيلها على السيرفر المحلي لجميع اختباراتك.
إيجابيات فايربيز Firebase
- مصادقة البريد الإلكتروني وكلمة المرور و Google و Facebook و Github.
- بيانات في الوقت الحقيقي.
- توافق كامل مع واجهة برمجة التطبيقات “API”.
- نظام أمن داخلي على مستوى العُقد في شجرة البيانات.
- تخزين الملفات مدعوم من Google Cloud Storage.
- خدمة استضافة ملفات ثابتة.
- التعامل مع البيانات (كتدفقات) لإنشاء تطبيقات قابلة للتطوير بدرجة كبيرة.
سلبيات فايربيز Firebase
- قدرة محدودة للاستعلام بسبب نموذج نقل البيانات الخاص بها.
- عدم دعم نقل دوال SQL (بسبب عدم تطابق نماذج البيانات مع NoSQL)
- لا يتضمن اسسًا للتثبيت.
المصدر What is Firebase? The complete story