ما الذي يجعل React Native مناسبًا لـ Uber Eats وتطبيقات توصيل الطعام الأخرى عبر الإنترنت؟

نشرت: 2021-12-07

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

كان فريق التطوير على دراية بالتحديات الحالية للصناعة مثل الخطوات الإضافية المتضمنة في الاستلام والتوصيل ، وعدم وجود اتصال في الوقت الفعلي مع متخصص التوصيل ، وإنشاء اتصال مستمر مع جميع القطاعات الثلاثة (العملاء ، والمطاعم ، وشخصيات التوصيل) من الأفراد.

في النهاية ، ظهرت UberEats بمساعدة React Native. في هذا المنشور ، سنشرح كيف ساعد استخدام Reach Native أوبر في تشكيل التطبيق.

فهم React Native

مطور يعمل على الكمبيوتر
الصورة: Unsplash

RN أو React Native هو إطار عمل لتطوير تطبيقات الهاتف المحمول معترف به عالميًا ، ومكتوب بلغة JavaScript. باستخدام React Native ، يمكن تطوير تطبيقات iOS و Android الأصلية. سيتم تطوير التطبيقات للأنظمة الأساسية المتنوعة باستخدام قاعدة بيانات متطابقة مما يؤدي إلى جهود ضخمة وتوفير الوقت.

تم إنشاء React Native بواسطة Facebook والمجتمعات ذات الصلة ، وتم تقديمه كأداة مفتوحة المصدر في عام 2015. بعد فترة وجيزة من التطوير ، أصبح مصدرًا قياسيًا يستخدم في تطوير الحلول الهجينة والمتنقلة ، نظرًا لسهولته التي لا مثيل لها وقابليتها للاستخدام الممتد. أيضًا ، يمكن استخدام الكود المكتوب مرة واحدة لتطوير تطبيقات iOS و Android دون أي متاعب.

لقد أصبح بارزًا جدًا بين المطورين بحيث يستخدمه أكثر من 42 ٪. في الواقع ، ظهرت التطبيقات الحديثة مثل Skype و Facebook و Instagram بسبب React Native فقط.

التحديات

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

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

كانت لوحة تحكم المطعم البدائية متوافقة مع الويب وتضمنت صفحة React / Flux للأجهزة اللوحية التي تمنح الوصول إلى أجهزة محدودة في ذلك الوقت. هذه القدرة المتناقصة للوحة تحكم المطعم أجبرت أوبر على أن يكون لديها اتصال محدود مع المطاعم.

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

بخلاف ذلك ، منح الإصدار السابق من UberEats حق الوصول فقط إلى طباعة الإيصالات الفعلية للمطاعم التي تستخدم طابعات متوافقة مع AirPrint.

رد الفعل المحلي جعل الأشياء أفضل

يأكل اوبر
الصورة: Unsplash

لم يعرف فريق التطوير كيفية إنشاء تطبيق iOS / Android. لكن ، تم إتقان React. لذلك ، كان تفضيل React Native لـ Uber Eats لقطة مؤكدة. إنه جزء محوري من مجموعة التكنولوجيا الضخمة المستخدمة في Uber Eats. يتماشى بشكل جيد مع البنية التحتية الحالية لـ Uber ويسمح للفريق بالوصول إلى الميزات التي كانوا يبحثون عنها في تطوير تطبيقات الأجهزة المحمولة الأصلية.

قبل إطلاق تطبيق يعمل بكامل طاقته ، قررت أوبر ابتكار إصدار تجريبي يجب أن يتضمن الأجزاء الرئيسية المذكورة أدناه:

  • تقارير الأعطال للتطبيق
  • تحليل مفصل للمستخدم النهائي
  • قدرة التطبيق على تنزيل التبعيات الأصلية
  • مصادقة المستخدم

وفقًا لتقرير الشركة ، نجح العرض التوضيحي في تحقيق النتيجة المرجوة حيث اكتشف فريق المطورين أن الإبلاغ عن الأعطال كان يعمل بشكل أفضل من المتوقع ، وكان جسر JavaScript لمنشأة مثل إطلاق أحداث التحليلات أمرًا سلسًا ، وكانت مراقبة منطق عمل التطبيق أمرًا سهلاً.

إعادة تعريف بنية التطبيق

ساعد React Native أوبر على دمج تطوير تطبيقات الهاتف والويب مع السماح بتوليد الميزات بلغة جافا سكريبت أو جافا سكريبت. بسبب قابلية التشغيل البيني هذه ، تمكن مطورو Uber من الاستفادة من خبراتهم في تطوير تطبيقات الويب في تطوير تطبيقات الأجهزة المحمولة أيضًا.

لقد صمموا Uber Eats بطريقة مشابهة جدًا لتطبيق الويب React / Redux المعتاد مع الحفاظ على أنماط iOS وأنماط الوحدات النمطية وفقًا لاحتياجات الساعة. يسمح استخدام React Native لأوبر بتحسين وظائف التوجيه في التطبيق.

بينما كانت Uber Eats تعتمد على الويب فقط ، كانت Restaurant Dashboard تستخدم مكتبة أجهزة توجيه التفاعل الشهيرة. باستخدام المكتبة ، تم شرح مسارات التطبيق بشكل تصريحي ، مثل طريقة العرض. يدعم هذا النوع من توجيه التطبيق عناوين URL فقط ، التي لم يكن الوصول إليها ممكنًا خارج المتصفح.

يمنح استخدام React Native المطورين مكتبة تنقل دقيقة تشبه إلى حد كبير UINavigationController. أتاحت مكتبات React الأصلية مثل NavigationExperimental أو Navigator لفريق تطوير Uber الانتقال بعيدًا عن جهاز التوجيه بسهولة. يُعد جهاز توجيه الوصول إلى Vanilla موردًا رائعًا لتوجيه التطبيقات حيث لا يكاد يتم إعاقة بنية التطبيق.

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

تبديل JavaScript و Objective-C لقابلية نقل أفضل ، واحتمالات أقل لحدوث الأخطاء. باستخدام n Reach Native ، توصل فريق التطوير في Uber Eats إلى واجهة برمجة تطبيقات اتصالات صارمة يمكن استخدامها بشكل أكبر على مستويات مختلفة.

يعزز دفع التحديثات / الإخطار

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

تم كبح عدم كفاءة الإشعارات الصوتية لتطبيق الويب باستخدام React Native حيث يتم ربط التطبيقات التي تم إنشاؤها باستخدام هذه التقنية مع جزء صغير من كود Objective-C / Java. تتجمع هذه الرموز معًا لبناء حزمة ضخمة يتم إرسالها لاحقًا مع التطبيق مثل أحد الأصول. عندما تكون هناك طبقة أصلية ، يكون التطبيق قادرًا على تعديل ملف جسر React Native ويطلب إعادة التحميل.

في الطبقة الأصلية ، يمكن للتطبيق تغيير الملف المستخدم بواسطة جسر React Native ويطلب إعادة تحميله. يمكن أن يؤدي التحديث السيئ ، الذي يشار إليه على أنه حزمة مسببة للمشاكل في Uber Eats ، إلى إيقاف لوحة تحكم المطعم. يمكن أن يحدث ذلك قبل أن تدخل الحزمة المنطقية حيز التنفيذ. يمكن أن تظهر مثل هذه التحديثات السيئة في أي وقت وتعطل Restaurant Dashboard.

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

التفاف كل شيء

تتمتع Uber Eats برحلة ممتعة وقد لعبت React Native دورًا محوريًا طوال هذه الرحلة. ساعدت هذه التقنية فريق التطوير ببعض الخبرات والوظائف الجديرة بالثناء لتطوير التطبيقات المحلية لتحسين تجربة المستخدم.

لقد أحدثت أقصى قدر من التغييرات الثورية في ترقية Restaurant Dashboard. لقد جعل هذا الجانب التشغيلي مفوضًا وسلسًا ومستجيبًا للغاية. لقد عمل هذا الإطار بالتأكيد على تكثيف قدرة التطبيق دون زيادة التعقيد. على الرغم من أن React Natives تمثل جزءًا صغيرًا من مجموعة التكنولوجيا الضخمة من UberEats ، فهي تعمل من الخلف ، إلا أن مساهمتها جديرة بالثناء.

إذا كنت تخطط لتطوير تطبيق توصيل الطعام عبر الإنترنت مثل UberEats ، ففكر في React Native. استعن بمطور أو فريق من React Native لتحويل فكرة مشروعك إلى حقيقة. الرهان عليه لن يخيب ظن أي شخص.

ملاحظة المحرر: Chandresh Patel هو الرئيس التنفيذي ومدرب Agile ومؤسس Bacancy Technology. ساعدت روحه الريادية حقًا وخبرته الماهرة ومعرفته الواسعة في خدمات تطوير البرمجيات الرشيقة المنظمة على تحقيق آفاق جديدة من النجاح.

هل لديك أي أفكار حول هذا؟ أخبرنا أدناه في التعليقات أو انقل المناقشة إلى Twitter أو Facebook.

توصيات المحررين: