هناك سبب وجيه يجعل بعض مطوري التطبيقات يضعون إصدار iOS من تطبيقاتهم أولاً. ظهر متجر App Store في البداية ولا يزال يتمتع بشعبية كبيرة ، ولكن لا يمكن تجاهل الأنظمة الأساسية الأخرى. مع إطلاق Google Play ، انخرطت صناعة تطبيقات Android بسرعة في متجر تطبيقات iOS. يمكن أن يكون تطبيق Android الناجح على Google Play مربحًا مثل تطبيق iOS في متجر التطبيقات. ينتج المطورون الأذكياء تطبيقات لكلا النظامين الأساسيين.
تطوير تطبيقات iOS و Android في نفس الوقت
يوفر التطوير عبر الأنظمة الأساسية القدرة على البرمجة مرة واحدة والبناء في كل مكان. إنه يوفر الكثير من الوقت ، حتى إذا كنت تخطط فقط للتطوير لنظامي التشغيل iOS و Android. عندما تضيف Windows و Mac والأنظمة الأساسية الأخرى إلى هذا المزيج ، فهذا يوفر وقتًا كبيرًا.
ومع ذلك ، فإن التطوير عبر الأنظمة الأساسية يأتي مع تحذير. غالبًا ما تكون مقيدًا بمجموعة أدوات تابعة لجهة خارجية ، مما قد يحد من ما يمكنك فعله باستخدام أحد التطبيقات. قد لا تتمكن من استخدام أحدث ميزات نظام التشغيل حتى تدعمها مجموعة الأدوات الخاصة بك.
أي شخص يتطلع إلى التطوير لأكثر من منصة واحدة لديه مجموعة مختارة من مجموعات الأدوات للاختيار من بينها. يعتمد الخيار الأفضل بالنسبة لك على ما تخطط للقيام به به. فيما يلي بعض خيارات التطوير عبر الأنظمة الأساسية.
01
من 04
وثائق ودعم مكثف للمكونات الإضافية لجهات خارجية.
شاهد التغييرات على الفور ، مما يؤدي إلى تسريع عملية إنشاء النماذج الأولية.
متخصص في تطوير الألعاب ثنائية الأبعاد.
لا يتضمن محرر WYSIWYG.
مطلوب اتصال بالإنترنت لإنشاء جهاز.
تدعم مجموعة تطوير البرامج (SDK) عبر Corona من Corona Labs أجهزة الكمبيوتر التي تعمل بنظام Windows و Mac وهي طريقة ممتازة لتطوير تطبيقات iOS و Android. باستخدام Corona SDK ، يمكنك إنشاء مشروع مرة واحدة ونشره على أجهزة متعددة ، بما في ذلك أجهزة الكمبيوتر والهواتف الذكية والأجهزة اللوحية وأجهزة التلفزيون الذكية.
تهدف Corona SDK بشكل أساسي إلى الألعاب ثنائية الأبعاد ، ولكن لها أيضًا استخدامات إنتاجية. نجح بعض المطورين في تطوير تطبيقات nongaming باستخدام Corona SDK. تستخدم المنصة LUA كلغة ، مما يجعل الترميز أسرع من استخدام النكهات المختلفة لـ C العائمة ، ولديها محرك رسومات مدمج فيها.
أفضل جزء هو أن Corona SDK مجاني للمبتدئين والهواة. يدفع المبدعون والمحترفون الجادون رسومًا شهرية. يمكنك تنزيل كل من الألعاب وتطبيقات الإنتاجية والبدء في تطويرها على الفور. إنه ليس الخيار الأفضل إذا كنت بحاجة إلى الكثير من إدخال النص من المستخدم ، ولكنه قوي بالنسبة لمعظم استخدامات الإنتاجية الأخرى وهو رائع للرسومات ثنائية الأبعاد.
الاستخدامات الأساسية: ألعاب ثنائية الأبعاد ، إنتاجية.
02
من 04
منحنى تعلم أقل من منافسيها.
مجموعة دعم مجتمعية نشطة.
حزم التوسع المتخصصة.
أحجام الإنشاء الكبيرة ليست مثالية لتطوير ألعاب الهاتف المحمول.
يتطلب التصدير إلى iOS أو macOS برنامج التحويل البرمجي Xcode وجهاز كمبيوتر Mac.
تعد Corona SDK رائعة بالنسبة للرسومات ثنائية الأبعاد ، ولكن إذا كنت تخطط للذهاب ثلاثي الأبعاد ، فأنت بحاجة إلى Unity. إذا كنت تخطط لاستخدام 3D في المستقبل ، فقد تكون Unity هي الخيار الأفضل حتى لو كان مشروعك الحالي عبارة عن لعبة ثنائية الأبعاد. من الجيد دائمًا إنشاء مستودع رموز لتسريع الإنتاج في المستقبل.
قد تستغرق ألعاب Unity وقتًا أطول للتطوير من Corona ، لكن Unity تدعم كل منصة تقريبًا ، بما في ذلك وحدات التحكم وألعاب الويب ، التي يدعمها محرك WebGL.
لدى Unity قوالب لبدء أنواع مختلفة من المشاريع ، بما في ذلك الألعاب ثنائية وثلاثية الأبعاد. تتضمن خيارات القوالب الأخرى قوالب عالية الجودة وخفيفة الوزن. خط أنابيب التقديم Scriptable (SRP) يعني أنه يمكن للمطورين والفنانين التقنيين البدء في Unity دون الحاجة إلى إتقان لغة C ++.
الاستخدام الأساسي: ألعاب ثلاثية الأبعاد.
03
من 04
المترجم المدمج يسهل تصحيح الأخطاء.
عدد هائل من الملحقات والأدوات المتوافقة.
الوثائق الضعيفة تجعل الأمور صعبة للمستخدمين الجدد.
دعم المجتمع آخذ في الذبول.
كما يوحي الاسم ، فإن Cocos2D هو إطار عمل لبناء ألعاب ثنائية الأبعاد. ومع ذلك ، على عكس Corona SDK ، فإن Cocos 2D ليس مجرد رمز مرة واحدة ، حل تجميع في كل مكان. بدلاً من ذلك ، إنها مكتبة يمكن إدراجها في أنظمة أساسية مختلفة وجعل الكود الفعلي هو نفسه أو ما شابه. يقوم هذا بالكثير من الرفع الثقيل عند نقل لعبة من منصة إلى أخرى ، لكنه لا يزال يتطلب عملاً أكثر من Corona. ومع ذلك ، فإن المكافأة هي أن النتيجة يتم ترميزها باللغة الافتراضية ، مما يمنحك وصولاً كاملاً إلى جميع واجهات برمجة التطبيقات الخاصة بالجهاز دون انتظار قيام طرف ثالث بتضمينها.
تتوفر إصدارات مختلفة من Cocos2D لـ C ++ و C # و Swift و Javascript و Python.
الاستخدام الأساسي: ألعاب ثنائية الأبعاد.
04
من 04
يمكن الوصول إليها بسهولة لأي شخص لديه مهارات أساسية في HTML5 و CSS وجافا سكريبت.
تطبيق الهاتف الذكي لاختبار التطبيقات على أجهزة متعددة.
دعم مدمج محدود لأدوات واجهة المستخدم.
تؤدي وظائف API المحدودة إلى ميزات تحديد الموقع الجغرافي غير الموثوق بها.
يستفيد Adobe PhoneGap من HTML 5 لتطوير تطبيقات عبر الأنظمة الأساسية. الهيكل الأساسي لهذا النظام الأساسي هو تطبيق HTML 5 يتم تشغيله داخل WebView على النظام الأساسي للجهاز. يمكنك التفكير في الأمر على أنه تطبيق ويب يتم تشغيله داخل متصفح على الجهاز ، ولكن بدلاً من الحاجة إلى خادم ويب لاستضافة التطبيق ، يعمل الجهاز أيضًا كخادم.
كما يمكنك أن تتخيل ، لن تتنافس PhoneGap بشكل جيد مع Unity أو Corona SDK أو Cocos من حيث الألعاب ، ولكن يمكنها بسهولة تجاوز تلك الأنظمة الأساسية للأعمال والإنتاجية وترميز المؤسسات. تعني قاعدة HTML 5 أنه يمكن للشركة تطوير تطبيق ويب داخلي ودفعه إلى الأجهزة.
يستفيد مطورو PhoneGap من مكتبة المكونات الإضافية القوية التي تعمل على توسيع قدرات تطبيقات الأجهزة المحمولة عبر الأنظمة الأساسية.
يتفاعل PhoneGap أيضًا بشكل جيد مع Sencha ، وهو نظام أساسي لإنشاء تطبيقات الويب.
الاستخدام الأساسي: الإنتاجية والأعمال.
و اكثر...
تعد Corona SDK و Unity و Cocos و PhoneGap عينة جيدة من حزم التطوير عبر الأنظمة الأساسية ، ولكن هناك العديد من الخيارات الأخرى. بعضها ليس قويًا تمامًا ، أو يتطلب مزيدًا من الوقت للانتقال من التعليمات البرمجية إلى الإنشاء الفعلي ، أو باهظ الثمن ، ولكنه قد يكون مناسبًا تمامًا لاحتياجاتك.
- كيو تي: اختيارًا جيدًا لتطبيقات المؤسسات والإنتاجية ، كانت QT موجودة منذ فترة بأشكال مختلفة. يضع الإصدار الأخير الكثير من التلميع حول منصة صلبة بخلاف ذلك.
- زامارين: خيار ممتاز آخر لحلول nongaming ، يستخدم Xamarin .NET و C # كلغة برمجة. Xamarin متخصص في استخدام عناصر واجهة المستخدم الطبيعية للجهاز ، لذا تبدو التطبيقات وكأنها مصممة لكل جهاز معين.
- المبسط: إذا كنت تفضل الإنشاء باستخدام JavaScript ، فقد يكون Appcelerator هو أداتك. إنه ليس حلًا مثاليًا يتم إنشاؤه مرة واحدة في كل مكان - لا يزال لديك بعض العمل للقيام به للحصول على تصميمات لأجهزة معينة - ولكن يمكن استخدامه للتطوير لكل جهاز بدون تنازلات مختلطة.