Firebase : ما هو؟ ما الجديد فى أحدث أصدار؟

3/09/2017 01:07:00 م

قبل التطرق لمستجدات منصة Firebase. لابد من معرفة ما هو Firebase.
Firebase, منصة لادارة وتطوير تطبيقات الجوال والويب مع مجموعة من الأدوات المصممة لمساعدة المطورين علي بناء تطبيقات عالية الكفائة.

Firebase

الكثير من الأضافات والتحديثات التي اعلن عنها مع انطلاق التحديث الجديد لمنصة Firebase في عام 2016 والتي جعلت منه احد افضل منصات التطوير المتاحة للاستخدام.

تزايد عدد مستخدمين Firebase من 110.000 مطور مع بداية ظهوره عام 2014 إلي ما يزيد عن 450.000 مطور في اوآخر 2016 مع توقع تزايد مستخدمين Firebase خاصة مع توافر مزايا  Android and iOS mobile centric الجديدة.

فيديو توضيحي لمستجدات منصة Firebase الجديدة :

[youtube src="fgT6r4f9Apc"/]

سنتطرق لذكر بعض المقتطفات لما يلي :

  • ما الجديد في تحديث Firebase الجديد بالنسبة للمطرين
  • الخصائص والمزايا الجديدة
  • خطط الأسعار
  • التحديثات الجديدة للجوال
  • التحديثات الجديدة للبرمجة السحابية
  • مستقبل Firebase

علي ما يبدوا ان ساعات من الشرح والأطلاع علي مزايا منصة Firebase الجديدة لن تكون كافية, ولاكن دعنا من كل هذا .... تابع .

ماذا يعنى هذا التحديث الجديد للمطورين

لم يعد Firebase مقتصر علي كونه منصة خدمات للتطوير, بل اصبح منصة كامل للخدمات الموفرة من جوجل.

لا يمكن ابدا التقليل من أهمية هذا التحول بالنسبة لجوجل و Firebase. فقد وفر جوجل منصة بسيطة دسمة بالعديد والعديد من الخدمات والمزايا في مكان واحد.

ماذا يعنى هذا التحديث الجديد للمطورين

علي سبيل المثال, عن إنشاء تطبيق ويب ( Web App ) فانت بحاجة إلي العديد من الخدمات لأدارة المحتوي وتصميم التطبيق والتي علي الأغلب لن تجدها في مكان واحد وتتمثل كالآتي :

  • تحليلات جوجل - Google Analytics ( المضافة في Firebase مجاناً )
  • أستضافة المواقع ( Web Hosting )
  • Global CDN (Cloudflare, CloudFront, or MaxCDN)
  • خدمة التخزين ( Storage )
  • الأعلانات كخدمة AdSense ( المضافة في Firebase مجاناً )
  • الخدمات السحابية / المراسلات الفورية / الأشعارات و المزيد 

يمكنك الآن أستخدام كل هذه الخدمات في مكان واحد باستخدام Firebase والتي من شأنها تفير الكثير من الوقت المهدر علي البحث عن افضل موفري الخدمات.

يمكنك الآن التحكم والأطلاع علي كل هذا علي واجهة رسوم بسيطة قوية واحدة.

وفيما يلي قائمة من مزايا Firebase :

  • قاعدة البيانات المتزامنة ( Realtime Database )
  • الأستضافة ( Hosting )
  • المصادقة ( Authentication )
  • التخزين ( Storang )
  • المراسلة السحابية ( Cloud Messaging )
  • التكوين البعدي ( Remote Config )
  • معمل الأختبار ( Test Lab )
  • الأبلاغ عن الأعطال ( Crash Reporting )
  • الأشعارات ( Notificaations )
  • التطبيقات المفهرسة ( App Indexing )
  • الروابط الديناميكية ( Dynamic Links )
  • الدعوات ( Invites )
  • الأعلانات ( AdWords )
  • أعلانات الجوال ( AdMob )

لما لا نذهب في رحلة صغيرة في بحر مزايا منصة Firebase.

قاعدة البيانات المتزامنة ( Realtime Database )

بات الأمر سهلاً الآن يمكنك مزامنة البيانات والمعلومات. منذ ايام خطر علي بالي انشاء تطبيق لمزامنة عدد مرات مشاهدة الموضوعات والنقر علي رابط التحميل في موقع Code Expo بالأضافة إلي تصويت للموضوعات. فكان اول ما خطر لي مصدر قاعدة البيانات الخاصة بتسجيل عدد النقرات ومركذها.

صورة التطبيق :

قاعدة البيانات المتزامنة ( Realtime Database )

فكرة التطبيق :

تسجيل عدد مرات مشاهدة موضوع ونقرات التحميل بالأضافة إلي تصويت للموضوعات.

طريقة العمل :

عند الولوج إلي احد موضوعات Code Expo يتم تفعيل دالة للبحث عن معرف الصفحة وعدد مرات الظهور ان وجدت وان لم يكن, يقوم البرنامج بأضافة 0 الى عدد مرات الظهور. بالمثل في ازرار التحميل والتصويت.

للعلم التطبيق تم تكويده علي الأصدار الأسبق ل Firebase.

كود التطبيق :
[code type="JavaScript"] //Firebase //Page view counter $.each($("a[name]"), function() { var count = document.getElementById('postviews'); var id = document.getElementsByTagName("article")[0].getAttribute('id'); var blogStats = new Firebase("https://code-expo.firebaseio.com/Posts/id/" + id); blogStats.once("value", function(snapshot) { var data = snapshot.val(); var isnew = false; if(data == null) { data= {}; data.value = 0; data.url = window.location.href; data.id = id; isnew = true; } count.innerHTML = data.value; data.value++; if(window.location.pathname!="/") { if(isnew) blogStats.set(data); else blogStats.child("value").set(data.value); } }); }); // Download links function downloadlink(idx) { var id = idx.getAttribute('data-id'); var url = idx.getAttribute('href'); var downloadlinkdatabase = new Firebase("https://code-expo.firebaseio.com/Posts/Download Links/" + id); downloadlinkdatabase.once("value", function(snapshot) { var data = snapshot.val(); var isnew = false; if(data == null) { data= {}; data.value = 0; data.url = url; isnew = true; } data.value++; idx.nextElementSibling.innerHTML = data.value; if(isnew) downloadlinkdatabase.set(data); else downloadlinkdatabase.child("value").set(data.value); }); } // Download links function downloadlinkx(idx) { var id = idx.getAttribute('data-id'); var url = idx.getAttribute('href'); var downloadlinkdatabase = new Firebase("https://code-expo.firebaseio.com/Posts/Download Links/" + id); downloadlinkdatabase.once("value", function(snapshot) { var data = snapshot.val(); var isnew = false; if(data == null) { data= {}; data.value = 0; data.url = url; isnew = true; } idx.nextElementSibling.innerHTML = data.value; if(isnew) downloadlinkdatabase.set(data); else downloadlinkdatabase.child("value").set(data.value); }); } var divs = document.getElementsByClassName('dl-view-counter'); if(divs.length != null){ for (var i = 0; i < divs.length; i++) { var elem = divs[i]; downloadlinkx(elem); } } [/code]

هذا المستند هو نظرة عامة عن كيفية أستخدام قواعد البيانات المتزامنة للأندرويد و اى او اس وأيضاً الويب.

المصادقة ( Authentication )

يمكن التعامل معها عن طريق أسم المستخدم / البريد الإلكتروني / كلمة المرور ولا ننسي المواقع الأجتماعية, يمكن ان تري ذلك في واجهة المصادقة في الواجهة الرئيسية :

المصادقة ( Authentication )

يمكنك بكل بساطة تفعيل الأضافة فقط بالضغط على تفعيل ( Enable ).

المصادقة ( Authentication )

نال ذلك الجانب نصيب كبير في التطوير الآخير. تم ترقية كود SDK المستخدم واكثر من ذلك, تم إضافة التحقق بالبريد الإلكتروني ورابط الحساب.

وفيما يلي بعض التعليمات البرمجية للتعامل مع التوثيق الاجتماعية مع كود SDK الجديد :

[code type="JavaScript"] // grab the twitter auth provider var provider = new firebase.auth.TwitterAuthProvider(); // do the login firebase.auth().signInWithPopup(provider).then(function(result) { // twitter token and secret you can use to contact the twitter api var token = result.credential.accessToken; var secret = result.credential.secret; // user info var user = result.user; }).catch(function(error) { // blah blah errors }); [/code]

أكد من روئية المزيد علي Firebase Authentication docs.

الأستضافة ( Hosting )

دائما ما كانت الأستضافة سهلة علي Firebase. لاكن الآن اصبح هناك المزيد من الأضافات المميزة ك :

  • دعم النطاق المخصص مجانا
  • Global CDN
  • Auto-provisioned SSL certs

الأستضافة ( Hosting )

بمجرد تنصيبك ل Firebase CLI. يمكنك بكل بساطة نشر تطبيقك الخاص.

ما الجديد في هذا الأصدار

كل ما سبق ليست الا مجموعة من المزايا التي تم تطويرها فهي كانت متاحة من قبل. ولاكن ما المزايا الجديدة في Firebase. من هنا يبدأ التشويق ......

واجهة الرسوم

مع جميع المزايا الجديدة. اتت واجهة التحكم لتعكس كل المزايا الجديدة مع اجهة رسوم بسيطة مع شريط جانبي لجميع المزايا.

واجهة الرسوم

تمتلك واجهة الرسوم الرئيسية خيارات للوصول إلي كافة المزايا والخصائص.

تحليلات البيانات من جوجل - Google Analytics

واجهة تحليل البيانات من جوجل هي واجهة مماثلة لواجهة Google Analytics.

تحليلات البيانات من جوجل - Google Analytics

علي سبيل المثال, بالنسبة لمطوري تطبيقات الجوال, تسمح لهم واجهة التحليل لفعل الآتي :

  • معرفة ما يقوم به المستخدمين اثناء أستخدام التطبيق
  • رؤية أداء الحملات الأعلانية
  • إنشاء الجماهير علي أسس ومعاسسر محددة وممنهجة.

بما أن Firebase يستخدم نفس النظام المستخدم في نظام تشغيل جوجل السحابي, يمكن أستخدام منتجاتها السحابية في تطبيقك الخاص.

وفيما يلي بعض التعليمات البرمجية تسجيل حدث في التطبيق. ومن ثم يمكن تحليل الأحداث في لوحة أجهزة القياس الخاصة بك.

يمكنك إلقاء نظرة تفقدية لمسجلات مستندات التحليل ومستندات تحليل الروبوت.

[youtube src="iT6EaIwtonY"/]

تخزين الملفات من خلال SDK

Firebase لديها الآن القدرة على استضافة الملفات وتحميلها من خلال SDK.

تخزين الملفات من خلال SDK

وبذلك يوفر علينا Firebase الجوء إلي أماكن آخري, مثل AWS S3.

وفيما يلي بعض بعض التعليمات البرمجية المبسطة للتعامل مع تحميل الملفات من خلال SDK:

[code type="JavaScript"] // grab our references var auth = firebase.auth(); var storageRef = firebase.storage().ref(); // function to handle file upload function handleFileSelect(event) { // grab the file var file = event.target.files[0]; // create the metadata var metadata = { 'contentType': file.type }; // push the file var uploadTask = storageRef.child('images').put(file, metadata); } // sign the user in when the page loads // storage can only be used if signed in (can be anonymous signin) window.onload = function() { // Sign the user in anonymously since accessing Storage requires the user to be authorized. auth.signInAnonymously().then(function(user) { console.log('Anonymous Sign In Success', user); }).catch(function(error) { console.error('Anonymous Sign In Error', error); }); } [/code]

سهولة تأمين الملفات

نموذج الأمن للSDK هي مماثلة لما توفره قاعدة البيانات المتزامنة . انها سهلة التأمين للملفات ضد المستخدمين.

تحديث متغيرات التطبيقات عن بعد

تحديث المتغيرات لتطبيقاتك الخاصة بصورة متزامنة. هذا يعني أنك لن تضطر إلي الأنتظار لعملية نشر طويلة للحصول على بيانات جديدة. يمكنك تفعيل تلك الخاصية أو الغائها دون الحاجة إلي نشر نسخة جديدة من تطبيقك الخاص.

تحديث متغيرات التطبيقات عن بعد

بمجرد تعيين المتغيرات في لوحة التحكم. يمكنك بكل سهولة جلب هذه المتغيرات وذلك بأستخدام كود مماثل ل :

[code type="JavaScript"] config.getBoolean('holiday_promo_enabled'); [/code]

تحديث متغيرات التطبيقات عن بعد

تأكد من الأطلاع علي ملفات الأعداد ومشاهدة ملف الوسائط التالي :

[youtube src="iT6EaIwtonY"/]

المختبر : اختبر تطبيقاتك عبر أجهزة الروبوتات

موجهة إلي تطبيقات الأندرويد, مجموعة من أجهزة الروبوتات تسمح لك بأختبار تطبيقاتك علي مختلف الأشكال, والأحجام, والشاشات. من الجيد أمكانية رؤية :

  • ملفات التوجيه
  • ارشيف الأحداث
  • الفيديوهات
  • اللقطات

كل ذلك من خلال وحدة التحكم الخاصة بك في Firebase.

المختبر : اختبر تطبيقاتك عبر أجهزة الروبوتات

أقراء المزيد علي : Test Lab docs.

[youtube src="4_ZEEX1x17k"/]

المراسلة السحابية

المراسلة السحابية من Firebase (FCM), في السابق لم تكن خدمة المراسلة من جوجل متاحة مجاناً, والتي اصبحت مجانية من Firebase. يمكنك أرسال الأخطارات للمستخدمين مهما كان نوع الجهاز. ترسل خدمة المراسلة السحابية من Firebase (FCM) مالا يقل عن 170 مليار رسالة يومياً إلي 2 مليار جهاز.

هناك اختلاف في كود الأنشاء لمختلف التطبيقات, فتأكد من مراجعة مستندات الراسلة السحابية من Firebase.

[youtube src="sioEY4tWmLI"/]

التقارير السحابية : ألأبلاغ عن الأعطال

الحول علي الأولويات, وتقارير العمليات للمساعدة في تشخيص وإصلاح المشاكل في نظام تشغيل IOS و Android. يتم أرفاق التقارير بملخص عن مصدر ونوع الجهاز المستخدم عند حدوث الخلل وذلك لتسهيل عملية الأصل

التقارير السحابية : ألأبلاغ عن الأعطال

مع التقارير السحابية, يمكنك :

  • مراقبة الأخطاء.
  • جمع البيانات التي تحتاجها لتشخيص المشاكل.
  • الدمج بين التقارير وتحليل البيانات.
[youtube src="B7mlLVAkcfU"/]

الإخطارات : إرسال الرسائل إلى كافة المستخدمين

إدارة وإرسال إخطارات للمستخدمين باستخدام المراسلة السحابية من Firebase التي سبق ذكرها. باستخدام لوحة التحكم, يمكنك التحدث مع المستخدمين, التفاعل معهم وأكثر من ذلك.

الإخطارات : إرسال الرسائل إلى كافة المستخدمين

كما يتم أرسال تقارير في ملفات الأخطارات وتحليل البيانات لمن يستخدم أو يرفض الإشعارات.

[youtube src="rTB7fTqMlS0"/]

الروابط الديناميكية لتثبيت التطبيقات

طريقة وظيفية للنقل المستخدم لتثبيت تطبيقك فهي تعمل علي توجيه المستخدم إلي تطبيقك علي المتجر إذا لم يكن مثبت علي جهازه بالفعل سواء كان الجهاز حاسب أو جوال.

الروابط الديناميكية لتثبيت التطبيقات

بهذه الطريقة تضمن دائماً أمكانية الوصول إلي تطبيقك دون مواجهة العقبات.

[youtube src="LvY1JMcrPF8"/]

AdMob : الربح من تطبيقاتك

الربح هو احد أهم الأسباب التي يعمل عليها المطوريين. معظمنا لا يقم بأنشاء تلك التطبيقات المدهشة مجانا!, ADMob يوفر لك مادر الربح والأستفادة من تطبيقاتك بضع بعض الأعلانات.

AdMob : الربح من تطبيقاتك

تعمل AdMob جنباً إلي جنب مع تحليلات Firebase لتوفير قاعدة بيانات للمستخدمين وطبيعة الأعلانات المستهدفة.

[youtube src="EPKmYheOmiw"/]

مجموعة من أفضل الوثائق التوضيحية

من الملاحظ في المقال وجود الكثير من الروابط لمستندات توضيحية لكل تفصيلة في Firebaseمع العديد من الأمثلة التوضيحية.

مجموعة من أفضل الوثائق التوضيحية

قسم خاص لامثلة كاملة لتضيح كيفية تطويع المنصة لخدمة المطورين.

مجموعة من أفضل الوثائق التوضيحية

أسعار الخدمات : من منا لا يحب ماهو مجاني

مع ثلاثة مستويات مختلفة من التسعير, Firebase توفر عليك حد كبير من المعاناه بتوفير ادوات خاصة بكل فئة من المطورين.

  • Spark (مجاني) : كثير من المطورين يستخدمون الفئة المجانية وانا واحد من هؤلاء.
  • Flame ( 25$ / شهرياً ) : تستهدف المطورين الأكثر نشاطاً والراغبين في الوصلول إلي اكبر عدد من الأدات.
  • Blaze (الدفع قدر الأستخدام) : أدفع قدر أستخدامك.

أسعار الخدمات : من منا لا يحب ماهو مجاني

تأتي جميع الفئات السعرية مع مجموعة من الأدوات المجانية :

  • تحليلات
  • التطبيق الفهرسة
  • المصادقة
  • روابط ديناميكية
  • الدعوات
  • إخطارات
  • الإبلاغ عن الأعطال
  • التكوين عن بعد
كن أول من يعلم بجديد الأخبار ,المقالات ,الكورسات ,والكتب

أنضم إلي نشرتنا البريدية

إرسال تعليق

أنضم إلي نشرتنا البريدية

كن أول من يعلم بجديد الأخبار ,المقالات ,الكورسات ,والكتب
Code Expo
Code Expo
يتم التشغيل بواسطة Blogger.