كل ما عليك معرفته حول منصة فايربيس Firebase
14 د
تطوير مواقع الإنترنت والتطبيقات يقسم إلى قسمين رئيسيين كما نعلم جميعاً Front-end ويشمل الأعمال المتعلّقة بالواجهات والتصميم وغير ذلك ممّا هو مرئي للمستخدم وBack-end الذي يشمل كل مايتعلّق بالبرمجة ووظائف الاتصال بالسيرفر وغيرها لإنجاز الخدمات المختلفة وهذا ما يجعل التطبيق ديناميكياً (التطبيق الديناميكي له قاعدة بيانات ويمكن لمستخدميه التفاعل معه والاستفادة من خدماته).
إذاً لبناء تطبيق متكامل يلزمنا العمل على الجهتين لتقديم أفضل تجربة للمستخدم، ولايمكن لمطوّر Front-end أن يستغني عن البرمجة وقواعد البيانات ولا بدّ له من التعامل معها ولو بشكل محدود ليتمكّن من إنجاز مهامه. لكن هذا الأمر يتطلّب وقتاً وجهداً للتعلّم والفهم والخوض في هذا البحر الذي لا ينتهي وأنت كمطوّر Front-end تريد أن تبدأ عملك الذي تتقنه وتحبّه ببساطة وسرعة ولا وقت لديك للتعلّم، ما الحلّ إذاً هل هذه النهاية؟
لا تقلق صديقي القارئ فالحلّ موجود وفي متناول يديك إنه فايربيس Firebase وهي منصّة تطوير تطبيقات ومواقع إنترنت تأسّست في عام 2011 ولم تهدأ مسيرة تطورها حتى الآن ونالت شهرة واسعة في مجتمع المطوّرين.
رافقنا لنلق نظرة شاملة على هذه المنصّة ومميّزاتها ومساوئها ولماذا يجب عليك كمطور Front-end تعلّمها.
ماهي فايربيس Firebase
تعتبر فايربيس خدمة من خدمات الخلفية (Backend as a Service (BaaS وهي نموذج من نماذج خدمات الحوسبة السحابية إذ تعمل كوسيط لربط تطبيقات ومواقع الإنترنت الخاصّة بالمطوّرين مع الخدمات المختلفة على السحابة من خلال واجهات برمجة التطبيقات APIs وأدوات تطوير البرمجيات SDKs التي تستخدم لتحقيق التوافق مع الأنظمة المختلفة.
وهي منصّة تهدف إلى توفير نهج شامل لبناء وتحسين وتطوير مواقع الانترنت وتطبيقات الموبايل، من خلال العديد من الأدوات التي يحتاجها أي مطوّر لإنجاز خدمات سيستغرق بناؤها يدوياً زمناً وجهداً كبيرين، خاصّة لمن ليس لديهم الخبرة الكافية.
تاريخ موجر
قام James Tamplin وAndrew Lee بإطلاق خدمة في عام 2011 تحت اسم Envolve وتعتبر كواجهة تطبيقات برمجية API تسمح للمطورين بإدراج ميّزة المحادثة عبر الإنترنت online chat functionality في مواقعهم، لكن المطوّرين من مستخدمي Envolve استفادوا منها للوصول إلى بيانات التطبيق كاملةً وليس فقط البيانات الخاصّة بالرسائل من أجل تحقيق المزامنة في تطبيقاتهم كتطبيقات الزمن الفعلي Real time.
دفع هذا المؤسسين لفصل نظام المحادثة عن معمارية الزمن الحقيقي وتطوير Envolve حتى تمّ إطلاق الشركة المستقلّة فايربيس في أبريل/أيار 2012 كخدمة من خدمات الخلفية BaaS مع ميزة الزمن الفعلي.
في عام 2014 قامت غوغل Google بالاستحواذ عليها وطوّرتها بشكل كبير جداً إلى أن وصلت على ماهي عليه اليوم كمنصّة ويب وموبايل متعدّدة الوظائف.
الفرق بين تطوير التطبيقات التقليدية وتطبيقات فايربيس Firebase
قد تتساءل ما الذي يمكن لهذه المنصّة تقديمه وبماذا تختلف عن تطوير التطبيقات التقليدية، في الحقيقة فايربيس تقدّم الكثير من الخدمات مثل المصادقة Authentication وقواعد البيانات Database وغير ذلك الكثير وكلّ تلك الخدمات مستضافة على السحابة.
الفائدة من الاستضافة على السحابة أنّ مكوّنات الخلفية يتمّ صيانتها وتشغليها بشكل مستمرّ من قبل غوغل، وSDKs الخاصّة بالعميل التي توفّرها فايربيس تتفاعل مع الخدمات الخلفية على السحابة بشكل مباشر، دون الحاجة إلى أي برامج وسيطة بين التطبيق الخاصّ بك والخدمة.
هكذا أصبح الفرق بين التطبيقات التقليدية وتطبيقات Firebase واضحاً فالتطبيقات التقليدية تحتاج كلّاً من برامج الواجهة الخلفية Back-end والأمامية Front-end، بحيث يقوم كود Front-end من خلال API بالاستفادة من كود Back-end على السيرفر الذي يقوم بكل الأعمال المهمّ كل ذلك بإشراف المطوّر.
بينما فايربيس تجعل العمل كاملاً على جهة العميل وتستغني عن البرمجيات الوسيطة قدر الإمكان وتقوم بالأعمال من جهة السيرفر بدلاً من المطوّر. بذلك يستطيع المطوّر أن يوجّه تركيزه كاملاً نحو تجربة المستخدم UX وإنهاء أعماله بأسرع وقت وأقل جهد ممكن محقّقاً أفضل النتائج وبالطبع تعدّ Firebase مناسبة تماماً للمتعلّمين الجدد.
وبهذا أصبح واضحاً لما يجب على كلّ مطوّر استخدام فايربيس والاستفادة من كل ميّزاتها التي سنأتي على ذكرها تباعاً.
اقرأ المزيد: مراجعة هاتف Galaxy Note 8
خدمات فايربيس Firebase وميّزاتها
تقسم خدمات Firebase إلى مجموعتين رئيسيتين هما خدمات تطوير واختبار التطبيق Develop & test your app وخدمات تنمية وجذب المتابعين Grow & Engage your audience.
ميّزات التطوير والاختبار Develop & test
-
قاعدة بيانات الزمن الحقيقي Realtime Database
تخزين البيانات ومزامنتها مع جميع المستخدمين في الزمن الحقيقي على سحابة التخزين NoSQL، كما أنّ البيانات تبقى متاحة في حال كان التطبيق غير متّصلاً بالإنترنت offline، إذ يتم خدمة وحفظ التغييرات على كاش محليّة باستخدام SDK لقاعدة البيانات وعندما يعود الاتصال بالإنترنت تتمّ مزامنة البيانات المحليّة تلقائياً.
تخزّن البيانات على شكل كائن JSON كبير يستطيع المطوّرون إدارته في الزمن الحقيقيّ بحيث تصل تحديثات البيانات إلى كلّ المستخدمين عبر تطبيقات المنصّات المختلفة cross-platform apps بشكل تلقائي، إذ يتشارك جميع المستخدمين نسخة واحدة من قاعدة البيانات.
بالإضافة إلى فائدة التزامن المهمّة وأنها مستضافة على السحابة، فقاعدة بيانات فايربيس تتماشى مع SDKs الموبايل والويب تسمح ببناء التطبيقات دون الحاجة إلى السيرفرات servers.
أمّا بالنسبة للكلفة فهي تعتمد وترتبط بحجم البيانات المخزّنة.
-
المصادقة Auth
يمكن دمج قاعدة البيانات مع مصادقة Firebase Auth لتوفير عملية مصادقة بسيطة وبديهية.
تعتبر هذه المصادقة بكونها واحدة من خدمات الخلفية backend services كما أنّ SDKs الخاصّة بها سهلة الاستخدام وتحوي مكتبات واجهة المستخدم UI جاهزة لمصادقة المستخدمين على التطبيق.
تأتي أهمية المصادقة بسبب ضرورة معرفة هوية المستخدم في مختلف التطبيقات ممّا يسمح بتخزين بيانات المستخدم على السحابة بشكل آمن وصحيح، كما تفيد في تسهيل وصول المستخدم إلى بياناته المخزنة عبر مختلف الأجهزة سواء موبايل أو لابتوب.
تعتمد فايربيس عدّة أشكال للمصادقة منها استخدام كلمة المرور أو أرقام الهواتف وكذلك من خلال مزودي الهويات الموحّدة مثل غوغل Google وفيسبوك Facebook وتويتر Twitter وغيرها.
تتكامل هذه المصادقة مع خدمات Firebase بشكل وثيق وتزيد من معايير الصناعة مثل OAuth 2.0 وOpenID Connect بحيث يمكن دمجها بسهولة مع الواجهة الخلفية المخصّصة.
اقرأ المزيد: توقف عن كونك مبرمجًا عاديًا، مهارات برمجية ضرورية يتجاهلها معظم المبرمجون
-
مخبر الاختبار Test Lab
عنوانها اختبر تطبيقك على الأجهزة المستضافة على مركز بيانات غوغل.
Test Lab هو بنية تحتية على السحابة لاختبار التطبيق وبكل سهولة يمكنك اختبار تطبيق أندرويد Andoid أو iOS عبر مجموعة واسعة من الأجهزة المختلفة ورؤية النتيجة التي تتضمّن كل ما تحتاج معرفته وأكثر بما فيها السجلات وتسجيلات الدخول ولقطات الشاشة على لوحة التحكم Firebase console.
وللقيام بعملية الاختبار تقدّم Test Lab أدوات للاختبار Instrumentation tests هي:
- Robo test
حتى لو لم تكتب أي اختبارات في تطبيقك، إلّا أن بإمكانك استخدام Robo test لمحاكاة نشاطات المستخدم المختلفة واختبارها.
هذه الاختبارات تستخدم إطارات العمل المخصّصة للاختبار مثل إيسبريسو Espresso وواجهة المستخد الآلي UI Automator 2.0.
- Game Loop test
اختبار الألعاب من خلال الوضع التجريبي Demo mode بحيث يتمّ تشغيل اللّعبة أثناء محاكاة نشاطات المستخدم ويمكن تضمين عدّة حلقات loops عبارة عن سيناريوهات مختلفة في الاختبار، هذه السيناريوهات أو الحلقات يمكن تمييزها بملصقات labels بحيث يمكن تشغيل الحلقات المرتبطة معاً.
ملاحظة: Test Lab غير مخصّصة ولا يجب استخدامها لاختبارات التحميل load-testing على أي خوادم خلفية تستخدمها التطبيقات.
اقرأ المزيد: كلّ ما تودون معرفته عن مواصفات هواوي Y9 2019 الجديد
سابقاً في النسخ القديمة كان يسمّى Crash Reporting وهو تقديم تقارير قيّمة في حال تعرّض التطبيق لأي شكل من أشكال الأعطال سواءً كان التطبيق بنظام تشغيل Android أو iOS أو Unity، يتميّز بكونه خفيف ويقدّم التقارير في الزمن الحقيقي بمجرد وقوع المشكلة.
يعمل Crashlytics من خلال استكشاف المشاكل وتجميعها في مجموعات مختلفة حسب نوعها ويضيء على الظروف والأسباب التي أدّت لوقوع كل مشكلة على حدة، الأمر الذي يوفّر وقت وجهد المطوّر بحيث يوجّه كامل تركيزه على حلّ هذه المشاكل.
المعلومات التي تحتويها التقارير هي الأعطال التي تؤثّر على مجموعة كبيرة من المستخدمين، وإرسال التنبيهات في حال حدوث شيء يشكّل زيادة في الخطورة على وظائف التطبيق، والأسطر البرمجية التي تسبّبت بالعطل.
بالطبع هذه التقارير تفيد المطوّر في تتّبع المشاكل وترتيبها من حيث الأولوية إذ يجب التركيز على المشاكل التي تؤثّر على استقرار التطبيق وبالتالي جودته.
-
وظائف السحابة Cloud Functions
هذه الميّزة تعتبر من أهمّ وأبرز الميّزات فهي تسمح بتنفيذ أجزاء الكود الخلفية على السحابة استجابة للأحداث التي تطلقها ميّزات Firebase أو طلبات HTTPS، فالأكواد تكون مخزنة على سحابة غوغل Google cloud بحيث تدار في بيئة منظّمة دون الحاجة لعناء المطوّر في إدارتها يدوياً أو الاهتمام بأمور المخدمات.
الأكواد يمكن أن تكتب بإحدى اللغتين JavaScript أو TypeScript.
تقدّم منصّة Firebase وسحابة غوغل قاعدة بيانات Firestore لتطوير تطبيقات الموبايل والويب والسيرفر وتتميّز هذه القاعدة بمرونتها وقابيلتها الكبيرة للتوسّع.
تشابه قاعدة بيانات الزمن الفعلي في المزامنة والعمل دون اتصال بالإنترنت offline، بحيث تمكّن المطوّر من بناء مواقع انترنت وتطبيقات موبايل ديناميكية بغض النظر عن حالة الشبكة وتأخير الوصول إليها أو جودة الاتصال بالإنترنت، كما أنها توفّر تكاملاً سلساً مع المنتجات الأخرى لفايربيس وسحابة غوغل بما في ذلك وظائف السحابة Cloud Functions.
لكنها تتميّز عن Realtime database بالكثير من الأمور أهمّها أن تخزين الملفات على شكل كائنات يطلق عليها اسم وثائق Documents تتكوّن من أزواج قيم مفتاحية Key-value pairs ,يمكن أن تكون على شكل أي نوع من البيانات سواء سلاسل strings أو بيانات ثنائية binary أو حتى كائنات تشكل أشجار JSON تسمى هنا maps وهذه الوثائق بدورها تتشكّل في مجموعات Collections.
هذه المجموعات تتألف من وثائق قد تشير إلى مجموعات أخرى التي تحوي وثائق تشير لمجموعات غيرها وهكذا يمكن تشكيل هيكلية هرمية لتخزين البيانات المترابطة وتسهيل عملية استرجاعها، ويمكن أن تشكيل الاستعلامات وفقاً لحجم مجموعة النتائج التي تبحث عنها وهكذا يكون التطبيق جاهزاً للتطوير منذ يومه الأول.
تتميّز الاستعلامات في Firestore أنها سطحية shallow ويقصد بهذا أن الاستعلام يحضر المستند المطلوب دون الحاجة لجلب كل البيانات المتعلّقة فيه والموجودة في أيّ من المجموعات الفرعية.
كما تتفوّق على Realtime database بقابلية التوسّع لأنها تخزّن على سحابة غوغل وهذا مايجعلها قابلة للتوسّع بسهولة مهما ازداد حجم البيانات وازدادت شهرة التطبيق، بالإضافة للتكلفة التي تتطلّبها Firestore تعتبر أقل بكثير من تكلفة Realtime database فهي تستند إلى عدد عمليات القراءة/الكتابة التي تقوم بها بدلاً من حجم البيانات المخزنة.
وأهمّ ميّزات Firestore أنها متعدّدة المناطق Multi-Region Database أيّ أنّ التخزين يكون على أكثر من سيرفر بشكل أتوماتيكي لضمان الحفاظ على البيانات واستمرار عمل التطبيق بشكل صحيح في حال تعرّض السيرفر الأول لأي حادث، وبالطبع هذه النسخ من البيانات تحدّث معاً بشكل تلقائي أي تحديث يقع على أحدها ينسخ إلى الأخريات.
اقرأ المزيد: أفضل سبعة طرق للوصول إلى واي فاي الجيران بسهولة 🤭!!
-
التخزين السحابي Cloud Storage
مخصّص هذا التخزين لمطوّري التطبيقات من أجل تخديم وتخزين المحتوى المولّد من قبل المستخدم user-generated content مثل الصور والفيديوهات وملفات الصوت وغيرها، وتعتبر هذه الخدمة بسيطة وقوية وفعّالة من حيث التكلفة بنيت وفقاً لمقاييس ومعايير غوغل.
SDKs الخاصّة بهذه الخدمة توفّر خصائص جوجل للأمان على تحميل الملفّات وتنزيلها عبر تطبيقك بغض النظر جودة الشبكة، وبالطبع بما أنّ التخزين على السحابة فيمكنك الوصول إلى ملفاتك من أي مكان.
-
مراقبة الأداء Performance Monitoring
خدمة لمراقبة أداء تطبيقات الويب أو Android أو iOS تبعاً لعدد من الخصائص والاستفادة من هذه المعلومات وفقاً لحاجتك.
تحتاج SDK خاصّة لمراقبة خصائص الأداء وبعد تجميع البيانات كلّها يمكن للمطوّر البدء بالمراجعة والتحليل عبر لوحة التحكم Firebase console وبالتالي يمكنك أن تعرف مواطن نقاط الضعف ومتى وأين يجب العمل على تحسينها وتطوير الأداء وحل مشاكله.
-
الاستضافة Hosting
تقدّم firebase خدمة استضافة لمحتوى الويب على مستوى الإنتاج للمطورين وتتصف هذه الاستضافة بالأمان والسرعة، إذ يكمن من خلال أمر وحيد نشر تطبيق الويب بسرعة وتقديم المحتوى الديناميكي أو الثابت على الشبكة العالمية شبكة توصيل المحتوى Content Delivery Networ (CDN).
كما يمكن للمطوّر دمج Firebase hosting مع Cloud functions لبناء واستضافة الخدمات المصغّرة microservices على فايربيس.
اقرأ المزيد: أفضل التطبيقات لتعليم البرمجة على أجهزة أندرويد
ميّزات التنمية والجذب Grow & Engage
-
التحليل Firebase Analytics
Firebase Analytics هي أداة قياس مجانية مقدّمة من [,[G تفيد في إلقاء الضوء على استخدام التطبيق واشتراكات المستخدم. تتكامل هذا الخدمة مع كل ميّزات فايربيس وتقدّم تقارير غير محدودة العدد عن أكثر من 500 حدث منفصل يمكن تحديد هذه الأحداث من خلال SDK خاصّة.
افائدة من تقارير التحليل أنها تساعد المطوّر على فهم أعمق لسلوك المستخدم ممّايفيد في تشكيل واتخاذ القرارات فضلاً عن تطوير أسلوب التسويق والتعرّف على تفضيلات المستخدمين وبالتالي تحسين أداء التطبيق.
-
المراسلة عبر السحابة (Cloud Messaging (FCM
هو نظام مراسلة يتيح إيصال الرسائل من المخدّم إلى المستخدم دون تكلفة بشكل موثوق سواء على الأندرويد أو iOS أو الويب، هذه الرسائل يمكن أن تكون تنبيه للمستخدم بوجود إيميل جديد أو بيانات أخرى تحتاج للمزامنة أو رسائل إعلام المستخدم من أجل تجديد الاشتراك ويبلغ حجم رسالة الإشعار 2KB بينما رسالة البيانات 4KB.
هذا النظام يوفّر قوالب رسائل جاهزة أو إنشاء الرسائل الخاصّة بك، كما أنّ الرسائل يمكن أن ترسل إلى مجموعة من أجهزة العملاء المشتركين في مواضيع محدّدة أو رسائل التفاصيل التي ترسل إلى جهاز واحد.
وأهم مايميّز نظام FCM أنه تقريباً لايحتاج إلى أي شكل من أشكال التشفير وكتابة الأكواد بل تمّ دمجه بالكامل مع Firebase Analytics.
-
التنبؤات Predictions
تطبيق لتقنيات تعلّم الآلة Machine Learning في فايربيس، إذ تستخدم لإنشاء مجموعات المستخدمين الديناميكية بناءً على سلوك المستخدم المتوقّع.
تستخدم هذه التنبؤات تلقائياً مع Firebase Remot config ومؤلّف الإشعارات Notifications composer ونظام المراسلة FCM واختبار A/B، كما يمكن ربطها مع BigQuery من أجل الحصول على الصادرات اليومية التي تفيد في التحليل أو إرسالها إلى أدوات أطراف ثالثة.
عند استخدام التنبؤات مع Remot config يمكن زيادة التحويلات من خلال توفير تجربة مخصّصة بناءً على احتياجات المستخدم المتوقّعة. أمّا مع Notifications composer فيمكن استخدام التنبؤات لتقديم حملة لمرّة واحدة أو مكرّرة على سبيل المثال إرسال إشعار بشكل تلقائي للمستخدمين الذين يتوع أنهم سيتوقفون عن استخدام التطبيق.
وهنا يأتي دور التنبؤات مع اختبار A/B لمقارنة الفعالية بين حملات Notifications composer المختلفة و استخدام Remot config واختبار نتيجة الطرق المختلفة لتخصيص تجربة المستخدمين.
منصّة إعلان على الموبايل مقدّمة من جوجل هدفها الربح من التطبيق، واستخدامها مع Firebase Analytics يوفّر معلومات إضافية عن استخدام التطبيق وتوسيع قدرات التحليل.
كما أنّ فايربيس تتكامل مع AdMob دون الحاجة إلى إجراء تغييرات على إعدادات AdMod الموجود مسبقاً.
-
الروابط الديناميكية Dynamic Links
الروابط الديناميكية والتي تعني أنها تستجيب وتوجّه المستخدم إلى المحتوى المرتبط بها وفقاً للجهاز المستخدم، فمثلاّ عند الضغط على أحد الروابط الديناميكة الخاصّة بك على جهاز أندرويد أو iOS سيأخذك الرابط إلى المحتوى المتعلّق به في التطبيق بينما عند الضغط على نفس الرابط على جهاز حاسوب فسيأخذك إلى القسم المكافئ على موقع الويب.
وهذه الروابط تعمل سواءً كان التطبيق مثبتاً على الموبايل أم لا فإذا لم يكن مثبتاً يتمّ توجيه المستخدم ونصحه بتثبيت التطبيق وحالما يثبّته ينتقل الرابط بالمستخدم إلى المحتوى المرتبط به.
إذاً الرابط له ثلاث طرق يوجّه المستخدم من خلالها إما إلى تطبيق الموبايل أو إلى موقع الويب أو إلى واجهة تحميل التطبيق وتثبيه ومن هنا جاء تسمية الروابط الديناميكية.
-
الإعلانات Adwords
عنوانها الوصول إلى عملاء محتملين عن طريق الإعلانات عبر الإنترنت.
عن طريق إطلاق حملات إعلانية موجّهة باستخدام Google Analytics غلى جمهور Firebase لإشراكهم في مجموعة المستخدمين لديك.
والربط بين الإعلانات Ads وFirebase يمكّنك من الوصول إلى أدوات فعّالة تساعدك في رؤية كيف يقود استثمارك بالإعلانات إلى تحميل وتثبيت تطبيقك والنشاط داخل التطبيق، كما أنّ هذا الربط يمكّنك من تصدير قوائم بأسماء الجمهور إلى الإعلانات واستيراد الأحداث من Analytics إلى الإعلانات.
-
التهيئة عن بعد Remote Config
تسمح هذه الخدمة التي تعتبر من خدمات السحابة بتغيير سلوك التطبيق وشكله دون الحاجة لنشر تحديث جديد وبدون أي تكلفة لعدد غير محدود من المستخدمين النشطين يومياً.
يتم من خلال Remote config إنشاء قيم افتراضية داخل التطبيق تؤثّر على مظهر وسلوك هذا التطبيق، ولاحقاً يمكن استخدام لوحة التحكّم Firebase console أو واجهة برمجة التطبيقات Remote Config REST API لتعديل هذه القيم بالكتابة فوقها، هذه التعديلات يمكن أن تشمل كل مستخدمي التطبيق أو شريحة معينة منهم حسب رغبة المطوّر.
اقرأ المزيد: دليل مكتبات React Native – الجزء الثاني
-
فهرسة التطبيق App Indexing
فهرسة التطبيق تفيد في إدراج تطبيقك ومحتواه في نتائج البحث على جوجل، فإذا قام المستخدمون بتنزيل وتثبيت تطبيقك يمكنهم تشغيله والانتقال مباشرة إلى المحتوى الذي يبحثون عنه.
كما يفيد في إعادة تنشيط وجذب مستخدمي التطبيق من خلال مساعدتهم في العثور على المحتوى العامّ والشخصيّ على أجهزتهم، وتتوفّر ميّزة الإكمال التلقائي للاستعلام لمساعدتهم في الحصول على مايبحثون عنه بسرعة أكبر.
في حال كان المستخدمين لا يملكون التطبيق بعد فستُظهر الاستعلامات ذات الصلة بطاقة لتثبيت تطبيقك في نتائج البحث.
هذه هي أبرز وأهمّ ميّزات فايربيس Firebase أعتقد أنك الآن تفكّر جديّاً في البدء باستخدامها وتطبيقها لتوفير وقتك وجهد محقّقاً النجاح الذي تسعى إليه، لا تتكاسل وهيا إلى العمل.
أحلى ماعندنا ، واصل لعندك! سجل بنشرة أراجيك البريدية
بالنقر على زر “التسجيل”، فإنك توافق شروط الخدمة وسياسية الخصوصية وتلقي رسائل بريدية من أراجيك
عبَّر عن رأيك
إحرص أن يكون تعليقك موضوعيّاً ومفيداً، حافظ على سُمعتكَ الرقميَّةواحترم الكاتب والأعضاء والقُرّاء.