الجدل الكبير React Native … عامين من البرمجة ما لها وما عليها، وإلى أين
واحدة من أكبر التحديات التي واجهتها كمدير شركة في عالم التقنية تحتاج الى تطوير على المنصات المختلفة هو ضرورة دعم المنتجات التي نقدمها عبر الويب لمستخدمين الموبايل، نظرا لأنها تساعد على تقديم خبرة إستخدام أسهل وأفضل.
وبما أن أكبر مستحوذين على هذا السوق الآن هي هواتف أبل الذكية والهواتف التي تدعم نظام الأندرويد فكان لابد من وجود تطبيقات تدعم البيئيتين.
وعليه فقد قررنا أن نقوم بتطوير جميع منتجات الويب الخاصة بنا على نسخ الموبايل، لنحصل على تجربة مستخدم أفضل ونسهل على المستخدم الوصول إلى الخدمات.
ولكن واجهنا العديد من التحديات سأذكر تفصيلها في الفقرة المقبلة
التحديات التي واجهناها عند إتجاهنا لتطوير نسخ الموبايل
- التكلفة الباهضة للتطوير والحاجة إلى مطور خاص: كانت تكلفة مطورين برمجيات الموبايل في ذلك الوقت تكلفة باهضة، وأتحدث هنا عن اليد الماهرة التي تجيد إنتاج تطبيق متفاعل وقوي.
- الحاجة لمطور متخصص في كل بيئة تطوير: نعم فلم يوجد مبرمج يجيد جميع لغات منصات التطوير في ذلك الوقت مما كان سيحتاج إلى جلب مطور لكل منصة تطوير وهو بالتأكيد تكلفة باهضة.
- خطورة أن النسخة تعتمد إلى حد كبير على شخص واحد وبالتالي في حال حدوث أي حاجة للتحديث أو الصيانة، فإن الأمر متعلق إلى حد كبير بمن طور التطبيق.
- عدم التزامن في الإنتاج في السرعة والإنجاز: فبما أن البيئة مختلفة فأنت بحاجة إلى تطوير نسخ متفرقة (نسخة أندرويد ونسخة أي يو أس) وهذا سيختلف بالإنجاز من شخص لأخر كما أن طريقة كتابة الكود مختلفة عن بعضها البعض.
لذلك بدأنا ننظر عن الخيارات البديلة، ووجدنا أن أفضل الخيارات المتوفرة في ذلك الوقت هو ال React Native لأسباب كثيرة.
أسباب إختيار ال React Native
- التزامن في التطوير حيث أنك تقوم ببناء كود واحد تقريبا لنسخ الأندرويد والأيو أس.
- الأداء ممتاز مقارنة بالمكاتب المشابه نظرا لأن الريأكت نيتيف تقوم بإصدار كود باللغة المصدر وليس نماذج ويب.
- هناك دعم كبير ومجتمع يمكن الإعتماد عليه لحل المشكلات.
- التزامن في واجهات المستخدم إلى حد كبير بين النسخ المختلفة.
- لا تحتاج إلى وقت طويل لتعلم اللغه خصوصا وأن اللغة تعتمد على ال Javascript والتي تشكل جزء كبير من عمل مطورين الويب.
- اللغة في تطور دائم وتصدر تطويرات بشكل يومي وكذلك هناك الكثير من المكتبات التي تدعمها.
- يمكنك كتابة أي مكتبة بشكل Native مما يعني أنه في حال عدم توفر المكتبات المطلوبه يمكنك تطوير المكتبات الخاصة بك باللغة الأصلية.
وفعلا بدأنا التطوير في ال React ولم يستغرنا الكثير من الوقت للدخول باللغه، ولكن واجهنا الكثير من التحديات خصوصا عند بناءنا للخصائص المعقدة أكثر.
أهم التحديات والمشاكل التي واجهناها في ال React Native
- هناك صعوبه في التناغم بين المكتبات حتى تعمل مع بعضها البعض وهذا الأمر قد يأخذ الكثير من الوقت لضبط الإيقاع بين كل المكتبات.
- بعض المكتبات لا تعمل على الأندرويد وتعمل على ال IOS والعكس صحيح وينبغي ملائمة الأمر حتى تعمل النسخ.
- يمكنك تعلم اللغة بشكل سريع وإنتاج تطبيقات بسيطه، ولكن التطبيقات المعقدة تحتاج فعليا إلمام كامل بالتفاصيل الخاصة باللغة.
- عند تطوير المكتبات وخصوصا الريأكت تواجهك الكثير من التعارضات التي تحتاج إلى وقت حتى تستطيع تجنب المشاكل الواقعه
- هناك مستويين من الأخطاء مستوى خاص بلغة ال JS ومستوى متعلق باللغة نفسها IOS أو ال Android وهذا بالتأكيد مالا يواجهه المطور على اللغة الأصلية.
ولكن مع كل هذه التحديات فإننا وجدنا أن الإستثمار في اللغة كان ممتاز، لأنه خلصنا من الكثير من التكلفة وكذلك وافق نظام التطوير الخاص بنا كشركة. وبالتأكيد لا تعني هذه التجربة أن يكون لبعض الحالات الأخرى قرار مختلف، لأن هناك بعض الحالات لا تحتاج للعمل على كل المنصات، فمثلا تحتاج فقط لمستخدمين ال IOS والعكس صحيح. أو أن لديها الكثير من العمليات المعقده وتحتاج دوما للكتابة باللغة الأصل.
مستقبل ال React Native
برأيي أن هناك مستقبل كبير ومشرق لل React Native خصوصا وأنها يمكن أن تدعم أي Platform جديده نظرا لأنها تقوم بربط ال Javascript بالمركبات الخاصة بأي لغة وبالتالي يمكنها أن تدعم أي لغة لاحقا، ربما اكبر نقطة قوة هي نقطة ضعف وهي أن الفيسبوك هو من يدعم ال React في الوقت الحالي وببساطة يمكن أن يوقف هذا الدعم وبالتالي تنتهي.
لكن الحقيقه أن هذا أمر صعب ليحدث خصوصا وأن منتجات فيسبوك تعتمد على هذه اللغة في الوقت الحالي كما أن اللغة حاليا في تطور دائم وفي ازدياد لشعبيتها
ومع كل ذلك ما زال هناك حاجه فعليه لمطورين مهره في هذه اللغة، فيوجد العديد من المطورين الذين يعرفون عنها ولكن لا يوجد عدد كبير من الذين يجيدون عمل برمجيات معقدة وتطبيقات متفاعلة.
وقد قمت بنشر بودكاست على الساوند كلاود متعلق بهذا الموضوع يمكنكم الإستماع مباشرة من هنا
دمتم بود إلى تدوينة أخرى