Это хорошая причина, почему разработчики приложений часто ставят iOS-версию своего приложения на первое место — App Store был первым на сцене и по-прежнему пользуется огромной популярностью, но нельзя игнорировать и другие платформы. Индустрия приложений для Android предсказывала, что в 2017 году они наверняка догонят продажи приложений для iOS. Успешное приложение для Android в Google Play может быть таким же прибыльным, как приложение для iOS в App Store.
Популярность приложений на устройствах iOS и Android делает кросс-платформенную разработку важным фактором. Возможность кодировать один раз и создавать везде экономит много времени, даже если вы планируете разрабатывать только для iOS и Android. Когда вы добавляете в смесь Windows, Mac и другие платформы, это может сильно сэкономить время. Тем не менее, кросс-платформенная разработка идет с оговоркой. Вы часто заперты в сторонний инструментарий, который может предоставлять ограничения на то, что вы можете делать с приложением, например, не иметь возможности использовать последние функции операционной системы, пока ваш инструментарий не поддерживает их.
Вот подборка наборов инструментов, которые позволяют выполнять кроссплатформенную разработку.
Corona SDK
-
Обширная документация и поддержка сторонних плагинов.
-
Corona Simulator позволяет мгновенно увидеть ваши изменения, что значительно ускоряет процесс создания прототипа.
-
Не включает редактор WYSIWYG.
-
Требуется подключение к Интернету для сборки устройства.
Популярный кроссплатформенный набор для разработки программного обеспечения Corona Labs Corona Labs поддерживает компьютеры под управлением Windows и Mac и является отличным способом разработки приложений для iOS и Android. С Corona SDK вы создаете проект один раз и публикуете его на нескольких устройствах, включая компьютеры, смартфоны, планшеты и смарт-телевизоры.
Corona SDK нацелен прежде всего на 2D-игры, но он также имеет некоторое использование производительности. Некоторые разработчики успешно разработали неигровые приложения с использованием Corona SDK. Платформа использует LUA в качестве языка, который делает кодирование быстрее, чем использование различных разновидностей языка C, и в нее уже встроен графический движок.
Самое приятное, что Corona SDK бесплатна для начинающих и любителей. Серьезные создатели и профессионалы платят ежемесячную плату. Вы можете сразу же загрузить и начать разработку игр и приложений для повышения производительности. Это не очень хорошо, если вам нужно много текстового ввода от пользователя, но это хорошо для большинства других применений производительности и выдающимся для 2D-графики.
Основное использование: 2D-игры, производительность
Единство
-
Более низкая кривая обучения, чем у конкурентов, таких как Unreal и CryEngine.
-
Большая поддержка сообщества, чем, возможно, любой другой двигатель.
-
Большие размеры сборки делают Unity не идеальной для разработки мобильных игр.
-
Для экспорта в iOS или OSX требуется компилятор xCode и компьютер Mac.
Corona SDK отлично подходит для 2D-графики, но если вам нужно перейти на 3D, вам нужен Unity. На самом деле, если вы планируете использовать 3D в будущем, Unity может быть лучшим выбором, даже если ваш текущий проект — 2D-игра. Всегда полезно создать хранилище кода для ускорения будущего производства.
Для разработки игр Unity может потребоваться больше времени, но Unity поддерживает практически все платформы, включая консоли и веб-игры, которые поддерживаются движком WebGL.
В выпуске Unity 2018 года добавлены шаблоны, которые помогут вам начать работу над различными типами проектов, включая 2D и 3D игры. Другие параметры шаблона включают в себя шаблон VR и High-End и Lightweight шаблоны. Новый Scriptable Render Pipeline (SRP) означает, что разработчики и технические художники могут начать работу в Unity без необходимости осваивать C ++. Вместо этого SRP использует C # и шейдеры материалов.
Основное использование: 3D-игры
Cocos2D
-
Встроенный интерпретатор Python облегчает отладку.
-
Впечатляет количество совместимых расширений и инструментов.
-
Плохая документация осложняет жизнь новым пользователям.
-
Поддержка сообщества ослабевает по мере того, как многие пользователи переходят.
Как следует из названия, Cocos2D является основой для построения 2D-игр. Тем не менее, в отличие от Corona SDK, Cocos 2D — это не просто решение для однократного кода и компиляции. Скорее, это библиотека, которая может быть вставлена в разные платформы, что сделает фактический код одинаковым или похожим. Это сильно усложняет перенос игры с одной платформы на другую, но все же требует больше работы, чем Corona. Тем не менее, бонус заключается в том, что результат кодируется на родном языке, что дает вам полный доступ ко всем API устройства, не дожидаясь, пока сторонний пользователь их включит.
Различные версии Cocos2D доступны для C ++, JavaScript, C #, Xcode и Objective C, а также Python.
Основное использование: 2D игры
PhoneGap
-
Легко доступен для всех, кто обладает базовыми навыками HTML5, CSS и Javascript.
-
Сопровождающее приложение для смартфона позволяет протестировать приложение на нескольких устройствах.
-
Ограниченная встроенная поддержка виджетов UI.
-
Ограниченная функциональность API приводит к ненадежным функциям геолокации.
PhoneGap использует HTML 5 для разработки кроссплатформенных приложений. Базовая архитектура этой платформы — это приложение HTML 5, которое работает в WebView на собственной платформе. Вы можете думать об этом как о веб-приложении, которое работает внутри браузера на устройстве, но вместо того, чтобы веб-сервер размещал приложение, устройство также выступает в качестве сервера.
Как вы можете себе представить, PhoneGap не будет хорошо конкурировать с Unity, Corona SDK или Cocos в плане игр, но он может легко превзойти эти платформы для бизнеса, производительности и корпоративного кодирования. База HTML 5 означает, что компания может разработать собственное веб-приложение и распространить его на устройства.
Разработчики PhoneGap извлекают выгоду из надежной библиотеки плагинов, которая расширяет возможности кроссплатформенных мобильных приложений.
PhoneGap также хорошо взаимодействует с Sencha , который является платформой для создания веб-приложений.
Основное использование: производительность и бизнес
И более…
Corona SDK, Unity, Cocos и PhoneGap представляют некоторые из самых популярных кроссплатформенных пакетов разработки, но есть много других вариантов. Некоторые из них не так надежны, требуют больше времени для перехода от кода к фактической сборке или стоят дорого, но они могут как раз соответствовать вашим потребностям.
- QT : Хороший выбор для корпоративных приложений и приложений для повышения производительности. QT уже давно существует в различных формах. Последняя сборка наносит много пользы на прочную платформу.
- Xamarin : еще один отличный выбор для неигровых решений, Xamarin использует C # в качестве языка программирования. Xamarin специализируется на использовании собственных элементов пользовательского интерфейса, поэтому приложения выглядят так, как будто они предназначены для каждого конкретного устройства.
- Marmalade : Marmalade, в первую очередь игровая платформа, имеет как инструмент C, так и Marmalade Quick, инструмент LUA. Это удобно для перекомпиляции iOS-игр для Android.
- Appcelerator : Если вы предпочитаете создавать с использованием JavaScript, Appcelerator может быть вашим инструментом. Это не идеальное решение для однократной сборки кода — вам все еще нужно поработать, чтобы получить сборки для конкретных устройств, — но оно требует разработки для любого устройства без гибридных компромиссов.