هل يجب أن نستخدم React Native؟

هل يجب أن نستخدم React Native؟

هل يجب أن نستخدم React Native؟

أنا مطور JavaScript كامل المكدس وأستخدم React لمعظم أعمالي من جانب المستخدم.
أيضًا ، لقد قمت بالفعل بتطوير لعبة كرة قدم مع تطبيقات جوال مكتوبة بلغة React Native لكل من ios و Android.

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

مزايا React Native

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

ميزة أخرى هي تحديثات التطبيق الأسرع ، لا يجب أن يمر تطبيقك بعملية الاسترداد.
بدلاً من ذلك ، يمكنك تحديث OTA باستخدام Expo أو CodePush.

عيوب React Native

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

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

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

التطبيقات المنتجة باستخدام React Native

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

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

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

يستخدم Facebook جهاز توجيه أصليًا ، وهذا ليس هو الحال في معظم تطبيقات React Native.
تستخدم معظم تطبيقات هذا الإطار حزمًا مثل React Native Navigation لأداء التوجيه.

استخدامات أخرى

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

بالطبع ، لا أعرف كيف تبدو هذه الميزة في ios. لكنني أفترض أنه أفضل قليلاً من Android.

ومع ذلك ، يحتوي Facebook Ads Manager أيضًا على بعض المكونات الأصلية.
لا تمتلك الفرق الأصغر الموارد والخبرة اللازمة لبناء قدرات أصلية في React Native.

بعض التطبيقات الأخرى المثيرة للاهتمام التي يمكن ذكرها هي تطبيق Discord ، والذي يديره فريق تطوير مكون من شخصين.
يبلغ متوسط تصنيف العرض 4.8 من بين 442000 ناخب في وقت كتابة هذا التقرير.
طور Discord تطبيقهم فقط في إصدار ios لأنهم كانوا على دراية بالأداء الضعيف لتطبيقهم على Android.

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

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

تطبيق آخر مهم يمكن ذكره هو تطبيق Bloomberg. بالطبع ، لا أعرف تفاصيل هذا التطبيق ، لكنه سلس للغاية وسهل التشغيل على ios OS. أوصي بالعمل مع العديد من التطبيقات المدرجة واختبارها بنفسك ، ولكن احذر من أن العديد منها بالكاد تستخدم React Native.

تطبيق آخر كان موجودًا مسبقًا في هذه القائمة هو AirBNB. كانت الشركة التي صممت هذا التطبيق تستخدم React Native لأجزاء من تطبيقها ، لكنها سرعان ما قررت التراجع وجعل تطبيقها أصليًا بالكامل.

React Native: What is it? and, Why is it used? | by Thinkwik | Medium

ماذا يجب أن نفعل الآن؟

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

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

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

لا أدير شركة كبيرة ، ولكن إذا كانت لديك شركة كبيرة ، فقد يكون من المجدي الاستثمار في تطوير نظام منفصل لنظامي Android و ios.
ومن المفارقات أن Facebook و Google هما من أنشأ React Native و Flutter ، لكنهما ما زالا يطوران تطبيقاتهما الرئيسية محليًا.
يتم إنتاج Facebook و Messenger في الغالب محليًا. Gmail أصلي أيضًا.

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

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

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

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

هل يجب أن نستخدم React Native؟

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

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

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

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

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

الخاتمة

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

إطار عمل آخر كنت أتجه إليه مؤخرًا هو Flutter.
أود أن أعرف كيف يعمل هذا الإطار.
بالطبع ، هناك مخاوف بشأن عدم نضج هذا الإطار وعدم وجود عدد كافٍ من المبرمجين.

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

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

أخيرا نتمنى أن يكون درس هل يجب استخدام React Native؟ قد أفادكم

يسعدنا إثراء الموضوع من خلال تعليقاتكم و استفساراتكم المفيدة

مع تحيات موقع hdegy

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *