كيف تنجح في إنشاء واجهة برمجة تطبيقات باستخدام Firebase؟
نشرت: 2021-09-07Firebase عبارة عن نظام أساسي لتطوير التطبيقات تم إطلاقه في عام 2012 واستحوذت عليه Google بعد ذلك بعامين. في بداياته ، كان يُنظر إلى Firebase على أنه مجرد قاعدة بيانات لتطبيقات الوقت الفعلي ، لكن Google أدركت إمكاناتها وقررت إضافة خدمات إضافية إليها.
حاليًا ، Firebase هو نظام BaaS (الواجهة الخلفية كخدمة) مع 18 خدمة لتسهيل إنشاء تطبيقات الويب والجوال. من بين الشركات التي تستخدم خدمات BaaS من Firebase ، Accenture و Alibaba Travels و Stack و Twitch و Instacart ، إلى جانب أكثر من 2300 شركة أخرى.
فوائد استخدام Firebase
كانت أولى الخدمات التي قدمها Firebase هي قاعدة البيانات في الوقت الفعلي ، ولا تزال واحدة من أكبر عوامل الجذب. تتم استضافة قواعد بيانات Firebase Real-time على السحابة ، حيث يتم تخزين البيانات بتنسيق JSON والمزامنة في الوقت الفعلي مع كل عميل متصل بها. سواء كنت تستخدم iOS SDK أو Android SDK أو JavaScript SDK ، فإن جميع التطبيقات المتصلة بقاعدة بيانات Firebase Realtime تشترك في مثيل واحد من قاعدة البيانات ، ويتم تحديثها دائمًا بأحدث البيانات.
Cloud Firestore هي خدمة Firebase أخرى مثيرة للاهتمام. إنها قاعدة بيانات مستندات NoSQL مصممة لتسهيل تخزين البيانات والمزامنة والاستعلام عن تطبيقات الجوال والويب على نطاق عالمي. يتيح إنشاء التسلسلات الهرمية لتخزين البيانات ذات الصلة والاستعلامات التعبيرية لاسترداد البيانات تحقيق الإمكانات الكاملة لـ Cloud Firestore. في المقابل ، يتم قياس الاستعلامات بناءً على حجم النتائج بدلاً من حجم مجموعة البيانات. يتيح ذلك للتطبيقات التوسع من البداية دون الانتظار حتى اللحظة التي تتجاوز فيها الاحتياجات السعة.
بالإضافة إلى خدمات قواعد البيانات المذكورة أعلاه ، يقدم Firebase أيضًا خدمات الاستضافة وتخزين الملفات والوظائف (على غرار AWS Lambda) ، من بين أشياء أخرى كثيرة.
إنشاء API
تعد واجهات برمجة التطبيقات (API) طريقة لتوفير الخدمات لتستخدمها تطبيقاتك أو تطبيقات الجهات الخارجية. يتيح لك Firebase تقديم خدمات مخصصة تستفيد بدورها من خدمات Firebase الخاصة دون الحاجة إلى إنشاء واجهة خلفية لتلك الخدمات. يمكنك ، على سبيل المثال ، إتاحة الوصول إلى قاعدة بيانات Firebase في الوقت الفعلي لتطبيقات الجهات الخارجية للاستعلام عن المعلومات التي تم جمعها بواسطة أجهزة الاستشعار الصناعية.
تتمثل الخطوة الأولى في إنشاء واجهة برمجة تطبيقات في Firebase في الوصول إلى وحدة تحكم Firebase وإضافة مشروع بالنقر فوق "إضافة مشروع" وإعطاء اسم المشروع الجديد. ستمنحك Google خيار تمكين Google Analytics لمشروعك الجديد. يوصى بقبول هذه التوصية ، حيث ستحصل على مزايا مثل اختبار A / B ومجموعة متنوعة من التقارير الإحصائية من API الخاص بك.
بمجرد إنشاء مشروعك ، ستتمكن من تحديد خدمات Firebase التي ستستخدمها واجهة برمجة التطبيقات الخاصة بك. لتوضيح هذه المهمة ، سنرى كيفية استخدام خدمة قاعدة بيانات Firebase Realtime.
إعداد قاعدة بيانات في الوقت الفعلي في Firebase
في شريط التنقل على اليسار ، داخل قسم التطوير ، انقر فوق Realtime Database. سيظهر زر "إنشاء قاعدة بيانات" على اليمين. انقر فوقه لإنشاء قاعدة بياناتك الأولى في Firebase.

بعد ذلك ، سيتعين عليك الاختيار من بين العديد من خيارات الموقع الجغرافي لقاعدة البيانات الجديدة. حدد الأقرب إلى المستخدمين. يعد هذا جانبًا مهمًا لتقليل وقت استجابة واجهة برمجة التطبيقات الخاصة بك ، خاصة في تطبيقات الوقت الفعلي.

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

يمكنك البدء بخيار وضع الاختبار لعدم تعقيد إعدادات الأمان في البداية. يمكنك دائمًا إنشاء قواعد لاحقًا لتعيين تكوين الأمان بدقة أكبر.
بمجرد الانتهاء من تكوين قاعدة البيانات الخاصة بك ، يتم أيضًا تمكين واجهة برمجة التطبيقات المقابلة في قسم واجهات برمجة التطبيقات والخدمات بوحدة التحكم الشخصية في Google Cloud Platform.
برمجة Firebase API
في هذه المرحلة ، يكون لديك بالفعل العناصر الأساسية لمشروعك مهيأة في وحدة تحكم Firebase. الخطوة التالية هي كتابة كود API الخاص بك. للقيام بذلك ، ستحتاج إلى تهيئة استضافة Firebase ووظائفه على جهاز الكمبيوتر المحلي الخاص بك. يمكنك تثبيت أدوات Firebase باستخدام npm:
npm install -g firebase-toolsبعد ذلك ، يمكنك تسجيل الدخول إلى Firebase وتهيئة مشروعك بالأوامر التالية:
firebase login firebase initسيتم عرض شاشة ترحيب يعلمك فيها Firebase بالمجلد الذي سيتم فيه تهيئة مشروعك ، وستظهر قائمة بالخيارات.

في تلك القائمة ، حدد الوظائف والاستضافة (سيسمح لك خيار الاستضافة بالحصول على عنوان URL مخصص لواجهة برمجة التطبيقات التي ستقوم بتطويرها). ثم اختر من القائمة تطبيق Firebase الذي أنشأته مسبقًا ، وبعد ذلك يجب عليك تحديد اللغة التي تريد استخدامها. لتطوير واجهة برمجة تطبيقات الويب ، يمكنك اختيار JavaScript.

إذا كنت ستستخدم تبعيات الحزمة ، فقم بتثبيتها باستخدام npm داخل مجلد الوظائف. ثم يمكنك البدء في كتابة الكود الخاص بوظائفك. تذكر تضمين وظائف firebase وحزم مشرف Firebase ، إلى جانب أي حزم أخرى تحتاجها:
import * as functions from 'firebase-functions'; import * as admin from 'firebase-admin';لاستخدام قاعدة البيانات في الوقت الفعلي ، يجب تحديد عنوان URL الخاص بها عند تهيئة JavaScript SDK. يوجد عنوان URL في قسم Realtime Database بوحدة تحكم Firebase. يمكنك التعرف عليه من خلال شكله:

https://<database-name>.<region>.firebasedatabase.appيمكنك استخدام المقتطف التالي لتهيئة SDK ، واستبدال البيانات التي تتوافق مع كائن تكوين مشروعك:
var config = { apiKey: "apiKey", authDomain: "projectId.firebaseapp.com", databaseURL: "https://databaseName.firebaseio.com", storageBucket: "bucket.appspot.com" }; firebase.initializeApp(config); var database = firebase.database();بمجرد كتابة رمز وظيفة API الخاصة بك ، فقد حان وقت النشر. ولكن قبل القيام بذلك ، سيتعين عليك إجراء بعض التغييرات في firebase.json ، مع إضافة الأسطر التالية ، مع تعديلها وفقًا لتكوين مشروعك:
"rewrites": [ { "source": "/api/v1/**", "function": "webApi" } ]الخطوة التالية هي النشر. في المرة الأولى التي يجب عليك فيها إجراء نشر كامل ، قم بتنفيذ الأمر:
firebase deployفي عمليات النشر اللاحقة ، ستتمكن من نشر الوظائف فقط ، باستخدام معلمة الوظائف فقط.
بعد تنفيذ أمر النشر ، يعرض Firebase CLI عنوان URL لنقاط نهاية HTTP لوظائفك في الجهاز الطرفي ، والذي يمكنك استخدامه لاستدعاء واجهات برمجة التطبيقات الخاصة بك من تطبيق ويب. يحتوي عنوان URL على معرف المشروع الخاص بك ومنطقة لوظيفة HTTP. على سبيل المثال ، يمكن استخدام عنوان URL التالي لاستدعاء وظيفة استعلام عنصر عن طريق تمريرها itemid = 1 كمعامل:
https://us-central1-apiproject-8753c.cloudfunctions.net/itemQuery?itemid=1لتنفيذ الوظيفة ، افتح عنوان URL مع المعلمات المقابلة في المستعرض.
لاحظ أن النشر في بيئة الإنتاج يتطلب اشتراكًا في خطة Firebase Blaze ، وهي خطة الدفع أولاً بأول ، كما يمكنك قراءتها في صفحة تسعير Firebase. إنها خدمة ما بعد الفوترة ، مما يعني أنه تتم محاسبتك على استخدامك في نهاية كل شهر.
إذا لم يكن لديك اشتراك Blaze ، فلن يعرض أمر النشر عنوان URL الخاص بواجهة برمجة التطبيقات. بدلاً من ذلك ، سترى رسالة تخبرك بأنه يجب عليك الاشتراك في خطة Blaze إذا كنت تريد النشر في بيئة وقت التشغيل. في هذه الحالة ، لا يزال بإمكانك استخدام Firebase Local Emulation Suite لإنشاء التطبيقات واختبارها على جهازك المحلي بدلاً من نشرها في بيئة إنتاج Firebase. يعد الاختبار المحلي مفيدًا لتجنب التكاليف غير الضرورية أثناء تطوير التطبيق ، حيث قد يؤدي كل تشغيل اختباري إلى فرض رسوم على حسابك.
الاختبار المحلي والنماذج الأولية
توفر أداة Local Emulator Suite واجهة مستخدم متكاملة تجعل النماذج الأولية سهلة ومفيدة لاختبار تطبيقاتك على جهازك المحلي.
باستخدام واجهة مستخدم Emulator Suite ، يمكنك اختبار تصميمات قاعدة البيانات الخاصة بك ، ومهام سير عمل Cloud Functions ، وتحليل أداء خدمات الواجهة الخلفية ، وتقييم التغييرات في قواعد الأمان ، من بين مهام أخرى. إنه في الأساس صندوق حماية آمن لاختبار وظائف واجهة برمجة التطبيقات الخاصة بك قبل إرسالها إلى بيئة الإنتاج.
لمحاكاة وظائفك أو اختبار تطبيقك محليًا ، قم بتشغيل برامج محاكاة Firebase: ابدأ. يجب أن يكون لديك Java مثبتًا لتتمكن من استخدام Firestore Emulator. إذا لم يكن لديك ، يمكنك تثبيته من هنا.
عند استدعاء Firestore Emulator ، سيعيد الأمر عنوان URL الذي يسمح لك بفتح واجهة مستخدم Emulator Suite في متصفحك. بشكل افتراضي ، سيكون عنوان URL هذا مضيفًا محليًا: 4000 ، ولكنه قد يختلف على كل جهاز.
ستحصل أيضًا على عنوان URL كامل لوظيفة HTTP الخاصة بك. سيبدو عنوان URL مشابهًا لـ:
http://localhost:5001/apiproject-8753c/us-central1/itemQueryفقط سيكون لها اسم مشروعك ، واسم وظيفتك ، وقد يكون لها أيضًا رقم منفذ مختلف على جهازك المحلي.
لاختبار الوظيفة ، انسخ عنوان URL الذي تم إرجاعه بواسطة المحاكي ، وأضف أي معلمات ضرورية (على سبيل المثال؟ itemid = 1) وأدخله في علامة تبويب جديدة في متصفحك. ستظهر نتائج تنفيذ واجهة برمجة التطبيقات في واجهة مستخدم Emulator Suite.
في علامة التبويب "السجلات" ، سترى سجلات جديدة تشير إلى أنه تم تنفيذ وظيفة itemQuery (). إذا كانت وظيفتك تنشئ بيانات جديدة في قاعدة بيانات Firestore الخاصة بك ، فسترى ذلك في علامة التبويب Firestore.
اكتساب المزيد من التعرض لواجهة برمجة التطبيقات الخاصة بك
إذا كنت تريد أن تصبح واجهات برمجة التطبيقات التي تطورها شائعة ، فيمكن أن يساعدك Firebase في ذلك أيضًا. ليس فقط لأنه يسمح لك ببناء تطبيقك بشكل أسرع ، مما يؤدي إلى استنزاف الكثير من العمل من الحصول على خدمات الخلفية وتشغيلها ، ولكن أيضًا من خلال مساعدتك في تحديد موقع منتجك. كيف يعقل ذلك؟ ببساطة لأن التطبيقات المرتبطة بـ Firebase تحتل مرتبة أفضل في تصنيفات البحث من التطبيقات الأخرى.
أيضًا ، ضع في الاعتبار واجهة برمجة تطبيقات فهرسة تطبيقات Firebase. تعمل هذه الأداة على تحسين تصنيفات البحث الخاصة بروابط التطبيق وتساعد المستخدمين في العثور على المحتوى المطلوب. كما أنه يضع زر التثبيت بعد زر الصفحة الرئيسية لتطبيقك بحيث يكون المستخدمون المهتمون على بعد نقرة واحدة من أن يصبحوا مستخدمين لتطبيقك.
في الختام ، لا يقدم Firebase لك خدمات الخلفية التي تسرع بشكل كبير من تطوير واجهة برمجة التطبيقات الخاصة بك فحسب ، ولكن بمجرد أن يتم تشغيله وتشغيله وعرضه للعالم ، فإنه يساعدك أيضًا على الترويج له - وكسب المال منه.
