تطوير التطبيقات لنظام أندرويد أو iOS: سهولة التطوير والصيانة
عند بدأ تناولنا لموضوع الخيارات الأفضل من حيث تطوير التطبيقات للهواتف الذكية، كنا قد تناولنا التوسع والنمو كالمحور الأول لمساعدة المطورين ورواد الأعمال على اختيار نقطة البداية الأفضل لهم. لكن وبالإضافة إلى حجم السوق لا بد من التفكير بتكاليف وصعوبة التعامل مع كل من النظامين وبيئتيهما المختلفتين، فمع أن هناك الكثير من الأمور المشتركة دون شك، فالاختلافات موجودة وحقيقية للغاية.
في هذا الموضوع سنركز على المعايير الأساسية التي يجب أن تفكر بها من حيث سرعة وسهولة تطوير التطبيقات للنظام الذي تريد البداية منه، وبالإضافة لفكرة سهولة التطوير بحد ذاتها، لا يمكن إنكار نقاط مهمة مثل التحديثات وشروط المتجر والصيانة التالية والتعامل مع الاختلافات الموجودة في السوق.
هذا الموضوع جزء من سلسلة مواضيع متتالية تتناول تطوير التطبيقات للهواتف الذكية، حيث نتناول النواحي المتعددة لاتخاذ قرار البداية، ويمكنك الاطلاع على هذه المواضيع بالترتيب باتباع هذه الروابط:
- هل يجب أن تبدأ تطوير التطبيقات لنظام IOS أم لنظام Android أولاً؟
- تطوير التطبيقات لنظام أندرويد أو IOS: هل يجب أن تبدأ بواحد أم الاثنان معاً
- تطوير التطبيقات لنظام أندرويد أو IOS: أين تحقق الأرباح الأكبر
سهولة التطوير وكتابة الكود
هذه النقطة كانت ولا تزال مركز خلاف وجدل مستمر، والواقع أن الحكم على الأمر شبه مستحيل من الخارج. حيث أن نظام أندرويد يعتمد بتطوير تطبيقاته على لغتي Java وKotlin (والتي لا تزال جديدة ومشابهة للغاية للغة Java). فيما أن تطوير تطبيقات iOS يتم بالاعتماد على لغة Swift التي تستخدمها شركة Apple للتطوير لجميع منتجاتها المختلفة.
من حيث المبدأ عادة ما يكون الكود المكتوب بلغة Swift أسهل من نظيره المكتوب بلغة Java إذ أنه أقصر ويحتاج لتعليمات أقل تجعل تعلم اللغة ككل أسهل من تعلم Java وفق معظم المبرمجين. لكن وفي حال كنت مبرمجاً أصلاً وتمتلك معرفة كافية بلغات برمجة أخرى ستختلف تجربتك حسب اللغة التي تتقنها ومدى قربها من Java او Swift، لذا من الصعب إعطاء جواب بتفضيل أحد النظامين هنا.
التنوع في الواجهات المستخدمة
بينما أن جميع هواتف أيفون مصنعة من قبل شركة Apple مع نفس الواجهة تماماً، فالأمور مختلفة للغاية في عالم أندرويد مع عشرات الشركات المصنعة والتي تمتلك واجهات مختلفة لنفس النظام. هذا الأمر لا يؤثر دائماً على تطوير التطبيقات مع كون الواجهات قريبة من بعضها عادة، لكن وفي بعض الحالات من الممكن أن يعمل التطبيق على هواتف Samsung مثلاً لكنه يواجه مشاكل على هواتف OnePlus، أو بالعكس.
تنوع واجهات أندرويد يعني أن التطوير لهذا النظام يفرض أخذ المزيد من المتغيرات بعين الاعتبار أثناء التطوير لتجنب مشاكل الأخطاء والتوقفات المفاجئة عن العمل.
التنوع في أحجام وقياسات وأبعاد الشاشات
من المعروف أن شركة Apple تصدر عدداً صغيراً نسبياً من الهواتف، حيث أن الجيل الحالي وهو الأكبر في تاريخ الشركة مكون من 4 هواتف فقط، بينما أن شركات أندرويد قد تصدر عشرات موديلات الهواتف كل عام مما يعني تنوعات هائلة بكل شيء يخطر بالبال وبالأخص دقة الشاشة وأبعادها.
تطوير التطبيق ليعمل على 3 أو 4 خيارات للشاشة فقط ليس بالأمر المعقد حقاً، لكن الأمر يتحول إلى عشرات خيارات الدقة والقياس والأبعاد عند النظر إلى نظام أندرويد، وفي حال لم تكن تريد التضحية بجزء كبير من السوق المتاح لك فمن المهم أن تأخذ هذه التنوعات بعين الاعتبار أثناء التطوير.
شروط متجر التطبيقات والقدرة على الالتزام بها
السمعة الأهم التي يحافظ عليها نظام iOS مقارنة بنظام أندرويد هي الخصوصية والأمان، ومع أن الفرق بين النظامين مستمر بالتقلص فالأفضلية مستمرة لصالح iOS بسبب الشروط الأكبر التي يضعها على التطبيقات من جهة، بالإضافة للمراجعة اليدوية لكل تطبيق على حدة قبل الموافقة على إضافته إلى المتجر.
من هذا المنظور بالتحديد يمتلك نظام أندرويد افضلية حقيقية، حيث أن هناك شروط أقل وأكثر مرونة للتقيد بها، كما ان فترة القبول بمتجر Google Play Store أقصر بوضوح مقارنة بفترة القبول في متجر App Store والتي من الممكن أن تمتد لأشهر حتى.
في الواقع يمتلك نظام أندرويد أفضلية أخرى هنا: متجر Google Play ليس خيارك الوحيد، بل أن هناك العديد من المتاجر البديلة من جهة، كما يمكن إتاحة التطبيق للتحميل من الويب بسهولة أيضاً.
مشكلة التعامل مع الإصدارات الأقدم من النظام
هنا تظهر المشكلة الأهم لنظام أندرويد ربما: بالإضافة للتقسيمات العديدة للواجهات هناك في الواقع تقسيمات كبرى لإصدارات النظام، وفي أي وقت كان عادة ما يكون أكثر من نصف المستخدمين يمتلكون هواتف مع نظام تشغيل عمره عامان أو أكثر وهذه مشكلة كبرى للمطورين الذين سيحتاجون لدعم العديد من الإصدارات المختلفة للنظام لتجنب التضحية بشطر كبير من حصصهم السوقية.
بالمقابل فالأمور مستقرة للغاية في عالم iOS، حيث أن جميع المستخدمين يحصلون على التحديثات ويثبتونها خلال أيام من صدورها فقط (فيما قد يحتاج الأمر لأكثر من عام لهواتف أندرويد أحياناً)، وبإضافة فكرة الدعم الطويل المدى لهواتف أيفون سيكون من الممكن التطوير للإصدار الأخير من النظام فقط والمراهنة على أن معظم مالكي هواتف أيفون سيتمكنون من استخدام التطبيق دون مشاكل.
المحصلة: معظم المؤشرات لصالح نظام iOS
مع التذكير بأن سهولة التطوير ليست المعيار الوحيد وعلى الأرجح ليست الأهم في الامر، فمن غير الممكن إنكار أفضلية نظام iOS هنا بسبب حقيقة أساسية: النظام مطور من نفس الشركة المصدرة للهواتف مع تحديثات دورية وسريعة الوصول تبقي جميع المستخدمين مع تجربة موحدة تقريباً وتسهل بشكل كبير من مهمة مطور التطبيقات.
بالطبع هذا لا يعني أن تطوير التطبيقات لنظام أندرويد لا يستحق العناء، لكن الواقع هو أن التطوير لنظام أندرويد عادة ما يحتاج لوقت أطول ويتضمن المزيد من الصعوبات والتنوعات للتعامل معها مما يزيد بدوره من التكاليف المتعلقة بالتطوير.