مقدمة الترجمة
قامت شركة بلومبرغ ـ إحدى أكبر وكالات الأنباء في العالم ـ بتصميم وتطوير تطبيقيها على كل من منصتي iOS و أندرويد باستخدام إطار العمل React Native الذي طورته شركة فيسبوك بغرض إنشاء تطبيقات موبايل أصلية بالإعتماد على لغة الجافاسكربت وفلسفة React.js.
هذا المقال يستعرض مجموعة من العوامل التي دفعت كبير فريق المطورين بشركة Bloomberg لإعتماد React Native عوض الحلول الأخرى المتاحة، مع تبيان النتائج النهائية لهذا القرار الشجاع.
نص التقرير
إطار العمل React Native هو مشروع مفتوح المصدر ومطور من طرف شركة فيسبوك. تم طرح إصداره الأول في عام 2015، ويمكن مطوري الجافاسكريبت من برمجة تطبيقات موبايل باستخدام JavaScript. يتيح الفريموورك للمطورين استخدام مكونات الواجهات الرسومية الأصلية على كل من نظامي التشغيل أندرويد و iOS.
باستخدام React Native، تمكن مطورو بلومبرغ من إنشاء تطبيق الشركة على iOS و Android مع مجموعة من الميزات الجديدة والمبتكرة.
“إنشاء تطبيق الموبايل الخاص بنا كان تحديا كبيرا لأنه كان على فريقنا الإنتقال بالكامل إلى React Native” يقول غابرييل ليو، كبير مهندسي البرمجيات في بلومبرغ والذي كان على رأس فريق التطوير.
بعد اختبار وتجربة React Native، قررت بلومبرغ اعتماده في إعادة بناء وتصميم تطبيقها. هناك أدوات وتقنيات أخرى مثل PhoneGap و Titanium تمكن من بناء تطبيقات موبايل وتعطيها طابعا وشعورا متميزا بالأصالة، ولكن الشركة اقتنعت بأن React Native هو الأداة الأفضل في السوق حاليا وستقود المطورين لتطوير تطبيقات أندرويد و iOS في الوقت ذاته.
قبل React Native، كان فريق بلومبرغ “مضطرا لتطوير نسختي iOS و أندرويد بشكل منفصل ومتوازٍ مع عدم القدرة على مشاركة الشفرة البرمجية والميزات بين المشروعين مما كان يؤدي للتكرار والتأخر في إنهاء المشروع”، يشرح غابرييل ليو. أما الآن فلقد بات المطور يركز على ميزة واحدة وتطويرها ثم مشاركتها بين المشروعين مع تعديلات بسيطة إذا اقتضاها الحال. في النهاية المطورون يكتبون بلغة برمجية واحدة ـ جافاسكريبت ـ لكلتا المنصتين وهذا ما يجعل عملية البرمجة سلسلة ومركزة بشكل أفضل.
“هذا ساعدنا على تسريع الأمور”، يتابع غابرييل. تطلب إنهاء المشروع 5 أشهر من فريق المطورين، وهو نصف الوقت تقريبا الذي كان سيُستغرق في حالة عدم الإعتماد على React Native.
[caption id=“attachment_2859” align=“aligncenter” width=“710”]](/assets/images/Bloomberg-Developers-Team.jpg) فريق مطوري الموبايل لشركة بلومبرغ ـ نيويورك 13 ديسمبر 2016. تصوير: لوري هوفمان من بلومبرغ\
React Native تم إنشاؤه من طرف شركة فيسبوك لكي يتم تعلمه مرة واحدة واستخدامه في كل مكان (learn once write everywhere). فريق مطوري الموبايل أصبحوا مرتاحين بشكل كبير مع RN وبات باستطاعتهم العمل بسلاسة في بيئته الكبيرة.
النقطة الإيجابية الأخرى في React Native هي أنه يقوم بأتمتة Automate عملية تحديث الكود، عوض إعادة التجميع Recompiling وانتظار تحميل التطبيق من جديد لرؤية التغييرات والميزات الجديدة.
ليس هذا فقط بل إنه بات بالإمكان الآن تحديث التطبيق وإضافة ميزات جديدة وإرسالها كمنتج نهائي للمستخدمين دون حتى إعادة رفع التحديث على المتجر وانتظار الموافقة عليه من المنصة المستهدفة. نعم هذا ما تفعله عدد من الخدمات أهمها CodePush من مايكروسوفت، هذه الخدمة مستخدمة بشكل كبيرا جدا في مجتمع React Native. يقول غابرييل ليو: ”بعد أن يفتح المستخدم التطبيق، سيحصل على آخر التحديثات والميزات الجديدة بشكل تلقائي مما يمنحه تجربة استخدام رائعة“.
الرائع كذلك مع خدمة CodePush أن المطورين يستطيعون الآن القيام باختبارات من نوع A/B Testing. مثلا نقوم بتقسيم المستخدمين لمجموعتين ونقدم لكل مجموعة تصميم مختلف لميزة محددة، مثلا صورة على اليمين بالنسبة للمجموعة A وصورة على اليسار للمجموعة B، في الأخير نقوم بجمع البينات وتحليلها لتحديد ما يفضله المستخدمون أكثر ونضعه في الإصدار النهائي.
أما المؤثرات الحركية فقد بات استخدامها أسهل مع React Native كما يؤكد Gabriel Lew، هذا ما مكن الفريق من إضافة عدة مؤثرات جميلة على التطبيق دون التأثير على سرعته وأداءه لأن الجافاسكريبت يشتغل في Thread خاص به ومنفصل.
React Native هو الأفضل على الساحة، من المتوقع الإعتماده عليه في مشاريع أخرى لبلومبرغ مستقبلا.
غابرييل ليو
[gallery td_gallery_title_input=“تطبيق وكالة الأنباء بلومبرغ على الهواتف الذكية” td_select_gallery_slide=“slide” size=“full” link=“none” ids=“2862,2863,2864,2865,2866”]
المصدر: How Bloomberg Used React Native to Develop its new Consumer App