المقارنة: React Native vs Native App Development
نشرت: 2021-10-05هل يمكن أن يتنافس إطار عمل React Native RoR مع تطوير التطبيقات الأصلية ؟
إنه في الواقع أحد تلك التطبيقات المختلطة التي نسمع عنها الكثير من الآراء حول هذه الأيام. هناك العديد من أدوات التطوير عبر الأنظمة الأساسية ، ولكن الأداة التي نولي اهتمامًا لها في هذه القطعة النصية هي إطار عمل React Native RoR. هل React Native أصلي؟ دعنا نتحرى الأمر إذن.
نظرًا لأن عالمنا متعدد الاختيارات أصبح الآن ، فإننا نتخذ حوالي 3500 قرارًا كل يوم ، وهذا ليس حتى ذروة ذلك. لقد أثر هذا العامل الاختياري المتعدد أيضًا على عالم تطوير iOS (و Android) الأصلي - هناك العديد من الطرق لإنشاء تطبيق. يمكنك الحصول على تطبيقك على منصات مختلفة ، قد يكون على شبكة الإنترنت أو الهاتف المحمول ، أصلي أو عبر الأنظمة الأساسية ، كل ذلك يمكن تحديده وفقًا لاحتياجاتك وقيمك. سنحاول تسليط الضوء على إيجابيات وسلبيات كل حالة.
مسارات تطوير التطبيقات المعروفة والمشهورة هي مسارات أصلية ومتعددة المنصات. يعمل تطوير التطبيق الأصلي بشكل كبير للجوال ، وهو نوع رسمي من التطوير لغرض محدد (سواء iOS أو Android) ، ضمن IDE محدد ( XCode أو Android Studio ) وعلى لغة معينة ( Kotlin / Java لنظام Android ، Swift / Objective-C لنظام iOS ).
النوع الثاني من التطبيقات المطورة يسمى الهجين. ما الفرق بين تطوير التطبيقات المحلية عبر الأنظمة الأساسية (ig React Native)؟ يختلف تطوير التطبيقات عبر الأنظمة الأساسية قليلاً عن تطوير التطبيقات الأصلية ، حيث يتضمن في معظم الحالات إطار عمل مفتوح المصدر يخلط بين مفاهيم تطوير الويب والجوال ، وغالبًا ما تتم كتابته على Java Script ، على الرغم من أن النتيجة النهائية ستتم في النهاية أن يكون ملف تطبيق "مثل أصلي". يصل التنافس بين "التطبيقات المحلية مقابل التطبيقات المختلطة" إلى خط الزوال هذه الأيام.
في حين أن كل شيء واضح مع المنصات واللغات "الأصلية" ، فإن التطبيقات المختلطة لها تصنيف أوسع. أكثر أطر عمل JS متعددة المنصات شيوعًا هي ما يلي:
- إطار عمل أيوني 3
- زامارين
- كوردوفا (PhoneGap سابقًا)
- تفاعل إطار عمل RoR الأصلي
اليوم ، لماذا تختار التطبيقات المختلطة وأي إطار عمل للبناء عليها؟ ماذا تختار - React Native vs Ionic؟ Xamarin مقابل React Native؟ يُعد React Native أحد أكثر الأطر استخدامًا لتطوير التطبيقات عبر الأنظمة الأساسية ، ولكن ما الذي يجعل الناس يستخدمونه؟ لقد حاولت التحقيق في الأمر.
تفاعل بشكل أسرع.
[مصدر الصورة: Facebook React Native]
أراهن أنك قد تعرفت على كل من هذه الرموز. جميعها (في الماضي أو حتى حاليًا) تم بناؤها أو تم بناؤها باستخدام React Native. بالحديث عن ذلك ، فإن شركة Facebook هي في الأساس مالك ومروج نشط لتطوير تطبيق React Native. ومع ذلك ، فإن الشركة نفسها تنفي كونها "أداة للتطبيقات المختلطة". كما يقولون في هبوطهم الرسمي ،
"باستخدام React Native ، لا يمكنك إنشاء" تطبيق ويب للجوال "أو" تطبيق HTML5 "أو" تطبيق مختلط ". أنت تقوم بإنشاء تطبيق جوال حقيقي لا يمكن تمييزه عن تطبيق تم إنشاؤه باستخدام Objective-C أو Java. يستخدم React Native نفس اللبنات الأساسية لواجهة المستخدم مثل تطبيقات iOS و Android العادية. ما عليك سوى وضع هذه الكتل الإنشائية معًا باستخدام JavaScript و React ".
[المصدر: Facebook Github]
ولكن هل يتسم تطبيق React Native حقًا بتجربة تطوير التطبيقات المحلية؟ حسنًا ، ليس تمامًا. بادئ ذي بدء ، حتى عملية بناء التطبيق مختلفة هنا.
كيفية إنشاء تطبيق محلي يتفاعل معه؟ اتمامه.
React Native لنظام Android (و iOS) نفسه عبارة عن التفاف على التجميع الأصلي ، حيث تتيح لك أداة JS إنشاء تطبيقات بطريقة أسهل. حتى أنه يحتوي على بنية مبسطة - تبدو المكونات مثل علامات HTML الأساسية. الكود الذي تكتبه في React Native فريد من نوعه لكل منصة متنقلة ، ولكن هناك العديد من الأدوات العالمية التي يمكن إعادة استخدامها وإعادة تطبيقها على iOS أو Android. علاوة على ذلك ، يمكنك الحصول على عدد قليل من وجهات الإنشاء ، مما يجعلني أتصل بتطوير React Native ليس فقط إطار عمل عبر الأنظمة الأساسية ، ولكن أيضًا عبر الأجهزة. يمكنك اعتماد تطبيقك لنظام iOS ، مثل AppleTV و Mac OS.
التطبيقات التي تم تطويرها في React Native لا تتطلب IDE أصلي (XCode أو Android Studio) ، على الرغم من أنه يمكنك تطويرها باستخدامها ، حيث أن IDE المخصص لـ Expo - React Native لديه ميزات تصحيح أخطاء أقل لتقديمها. لا يعمل إطار عمل RN أيضًا على تطوير بنية المكونات - فهي بسيطة جدًا ، وإذا كنت تبحث عن هيكل أكثر تعقيدًا ، فأنت بحاجة إلى استخدام أجزاء iOS أو Android أصلية ، ملفوفة في غطاء JS في الأعلى (وهو ، إلى حد ما ، ، فوضوي جدا) . ترتدي بعض المكونات في ، مما يساعدك على وضع الدعائم المختلفة فيه.
بعض المزايا التي تجعل React Native صفقة رائعة لمطوري التطبيقات عبر الأنظمة الأساسية في جميع أنحاء العالم :
1. يتطلب موارد أقل منك.
كما هو الحال مع كل حل عبر الأنظمة الأساسية ، فهو أرخص وأكثر ملاءمةً للميزانية ؛ لا تحتاج إلى تعيين فريقين منفصلين لتطوير التطبيقات - يمكنك تطوير فريق واحد ، لكن النتيجة ستغطي كلا النظامين الأساسيين إذا كنت على استعداد لذلك. سيكون مقدار الموارد والتكاليف التي يتم إنفاقها على إنشاء هذه التطبيقات ، بالطبع ، أقل بكثير مما يتطلبه تطوير التطبيق المحلي.
2. تتفاعل القوة الأصلية في مكوناتها.
كما تم ذكره بالفعل ، فإن قائمة المكونات المقبولة لـ React Native ضخمة. في المقابل ، يمكن بالتأكيد إعادة استخدام هذه المكونات في مشاريع أخرى ، إذا ظهرت بعض أوجه التشابه الشائعة.
3. لديها مجتمع ضخم.
كم عدد الأشخاص الذين تخمنهم لدى مجتمع React Native الرسمي على Facebook؟ في الوقت الذي نُشر فيه هذا المقال ، تجاوز العدد 23000. إن أعظم شيء في أن تكون جزءًا من مجتمع كبير هو الإحساس بشمول معين + القدرة على استخراج مكونات جديدة منه. يمكن بسهولة توزيع المكونات التي تقوم بإنشائها للأغراض المخصصة داخل المجموعة - وبالتالي يمكنك العثور على حل جاهز عندما تحتاج إليه ، دون الحاجة إلى إعادة كتابته من البداية.
4. يتم الترويج لها من قبل ...
يمكن بالفعل تسمية شركة Facebook ككل باسم "العلامة التجارية ذات العلامات التجارية" ، وبالتالي فإن Facebook خلفها بالكامل يعطي ميزة عملاقة لإطار React Native (حتى إذا أخذنا Ionic vs React Native Comparisson). يثق المستخدمون في أن هذه الشبكة الاجتماعية متينة بما يكفي لتحمل المنتجات التي تعلن عنها وتدعي الاعتماد عليها.
مقاس واحد لا يناسب الجميع.
في الزاوية الأخرى من الحلبة ، حيث يوجد مطورو التطبيقات الأصليون ، هناك أيضًا قيم وفوائد تشتريها عندما تدفع مقابل "التحول إلى مواطن".
1. أصلي = أكثر استجابة.
استجابة الواجهة هي شيء يتوق إليه مصممو تجربة المستخدم ويضعون العشرات من الجهود من أجله. عندما يكون تطبيقًا أصليًا ، يتم تصميم كل شاشة تصميم منفصلة وتكييفها لتناسب إرشادات المتاجر لتناسب النمط - سواء كان مسطحًا أو ماديًا .
2. اللغات الأصلية = تم تطويرها رسميًا بواسطة متاجر Apple و Google.
يقبل Native App Store و Google Play التطبيقات المبنية على اللغات التي تم تطويرها ودعمها بواسطة الأنظمة الأساسية. إذا اتبعت الإرشادات - يكون سلمك إلى المتجر جاهزًا تمامًا. مع تطبيق عبر الأنظمة الأساسية ، لا يزال لديك فرصة للقبول ، ولكن هناك احتمالات ، يتم رفضك لواجهة "webbish" أو التنقل قليلاً.
3. "الحاجة إلى السرعة".
يتمثل أحد المبادئ الرئيسية لهندسة قابلية الاستخدام في التفاعلات السريعة - "1.0 ثانية تتعلق بالحد الأقصى لتدفق أفكار المستخدم للبقاء دون انقطاع". بينما تتفاعل التطبيقات الأصلية وتعمل بسرعة كافية لإبقاء المستخدمين ضمن إيقاع النظام ، غالبًا ما تتباطأ المنتجات الهجينة إلى حد ما.
4. أصلي = أكثر تطوراً.
تتأرجح الحلول عبر الأنظمة الأساسية عندما تتطلع إلى إنشاء شيء موجود بالفعل ، مع ميزات خارج الفئة "المتوسطة". عندما يتعلق الأمر بالأشياء المعقدة (كل خوارزميات إنترنت الأشياء الحديثة والواقع المعزز والواقع الافتراضي وخوارزميات تعدين البيانات الضخمة موجودة في هذه القائمة) ، تفتقر التطبيقات المختلطة إلى القدرات التقنية لتحقيق ما تريد. من ناحية أخرى ، تمتلك IDEs واللغات المحلية منظورات تقنية لا حصر لها - يمكن كتابة الكثير من الأشياء عليها.
اختر بعناية.
إذا كنت تبحث عن تطبيق بسيط لإنشاءه (قوائم ولا شيء أكثر تعقيدًا من ذلك) ، فإن React Native يعد انفجارًا. في حالة الحاجة إلى أي أداء إضافي للتطبيق ، ستظهر إجراءات تطوير أكثر تعقيدًا - تحتاج بالفعل إلى التبديل إلى Swift أو إلى Kotlin ، ثم لفها كلها في غلاف Java Script المتلألئ ؛ ولا يبدو هذا بالأمر السهل. لذلك ، بالنسبة لأشياء مثل دفق الفيديو أو الصوت ، والتوجيه ، والمحادثات في الوقت الفعلي ، وتحرير الصور ، وما إلى ذلك ، سيكون من الأفضل البدء بالتطوير المحلي من البداية ، وتجنب هذه العيوب.
بالإضافة إلى ذلك ، فإن React Native هو إطار عمل JavaScript كامل ، ويمكن حتى كتابة الكود بالكامل في محرر النصوص مثل TextMate أو Notepad ++. على الرغم من أنه عندما يتعلق الأمر ببناء مشروع ، فأنت في حاجة ماسة إلى IDE معين ، أو محاكي على الأقل.
هناك بعض الأمثلة على تطبيقات مناسبة قائمة على RN:
- تطبيقات Facebook ، بالطبع
- تطبيقات Airbnb للهاتف المحمول (نظام التشغيل iOS و Android الهجين)
- تطبيق Walmart للجوال (حيث كان يحتوي على عدد من طرق عرض الويب المضمنة مع تنفيذ أقل من المتوقع)
يمكنك إلقاء نظرة على القائمة الكاملة للمنتجات المستندة إلى RN على موقع الويب الرسمي الخاص بهم ، ومرة أخرى تفوز RN بمسابقة إطار React Native vs Xamarin هنا.
من أجل المنظور.
وفقًا لإحصائيات Flurry ، "يقضي المستهلك الأمريكي اليوم ما معدله ساعتان و 38 دقيقة يوميًا على الهواتف الذكية والأجهزة اللوحية. ويقضي 80٪ من ذلك الوقت (ساعتان و 7 دقائق) داخل التطبيقات". يجب أن يتناسب منتجك بطريقة ما مع تلك الساعتين كل يوم. جميع النقاط التي تم أخذها في الاعتبار ، سيكون إطار عمل React Native RoR حلاً مفيدًا لمشروع صغير قصير المدى ؛ تثبت المراجعات أنها سريعة وغاضبة وجديدة ، أو عندما تريد "اختبار المفهوم". ومع ذلك ، على المدى الطويل ، أو عند التخطيط لابتكار تقني للبدء ، لا يمكنك الاعتماد على خيار جاهز. أنت بحاجة إلى أن يتم بناؤه من البداية ، وتحتاج إلى تخصيصه - لذا فأنت بحاجة إلى تطوير تطبيق أصلي بعد ذلك.
كتبه Artem Chervichnik و Elina Bessarabova .