Это хорошая причина, по которой разработчики приложений часто ставили первую версию iOS своего приложения - App Store был первым на сцене и по-прежнему чрезвычайно популярен, но другие платформы не следует игнорировать. Индустрия приложений Android предсказывала, что она догонит продажи приложений iOS в 2017 году. Успешное приложение для Android в Google Play может быть столь же выгодным, как приложение для iOS в App Store.
Популярность приложений на устройствах iOS и Android делает кросс-платформенное развитие важным фактором. Возможность кодировать один раз и строить везде экономит много времени, даже если вы планируете только разрабатывать для iOS и Android. Когда вы добавляете Windows, Mac и другие платформы в микс, это может быть чрезвычайная экономия времени. Тем не менее, кросс-платформенная разработка идет с оговоркой. Вы часто запираетесь на сторонний инструментарий, который может предоставить ограничения на то, что вы можете делать с приложением, например, не использовать новейшие функции операционной системы, пока ваш инструментарий не поддержит их.
Вот набор инструментов, которые позволяют выполнять кросс-платформенную разработку.
Corona SDK

Популярный кроссоверплатный комплект разработчика Corona Labs (SDK) поддерживает компьютеры Windows и Mac и отлично подходит для разработки приложений для iOS и Android. С помощью Corona SDK вы создаете проект один раз и публикуете его на нескольких устройствах, включая компьютеры, смартфоны, планшеты и смарт-телевизоры.
Corona SDK нацелен в первую очередь на 2D-игры, но также имеет некоторые преимущества в производительности. Некоторым разработчикам удавалось разрабатывать приложения nongaming, используя Corona SDK. Платформа использует LUA в качестве языка, что делает кодирование быстрее, чем использование различных ароматов C, плавающих вокруг, и в нем уже встроен графический движок.
Самое приятное, что Corona SDK бесплатно для начинающих и любителей. Серьезные создатели и профи оплачивают ежемесячную плату. Вы можете сразу загрузить и начать разработку игр и приложений для повышения производительности. Это не очень удобно, если вам требуется много текстового ввода от пользователя, но он прост для большинства других применений производительности и отличен для 2D-графики.
Первичное использование: 2D игры, производительность
Продолжить чтение ниже
Единство

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

Как следует из названия, Cocos2D является основой для построения 2D-игр. Однако, в отличие от Corona SDK, Cocos 2D - это не совсем одно решение для компиляции - один раз. Скорее, это библиотека, которая может быть вставлена на разные платформы, которые сделают фактический код тем же или похожим. Это делает большой тяжелый подъем при переносе игры с одной платформы на другую, но она по-прежнему требует больше работы, чем Corona. Тем не менее, бонус заключается в том, что результат закодирован на родном языке, что дает вам полный доступ ко всем API-интерфейсам устройства, не дожидаясь того, чтобы сторонние пользователи включили их.
Различные версии Cocos2D доступны для C ++, JavaScript, C #, Xcode и Objective C и Python.
Первичное использование: Игры 2D
PhoneGap

PhoneGap использует HTML 5 для разработки кросс-платформенных приложений. Основной архитектурой этой платформы является приложение HTML 5, которое работает в WebView на собственной платформе. Вы можете думать об этом как о веб-приложении, которое работает внутри браузера на устройстве, но вместо того, чтобы иметь веб-сервер для размещения приложения, устройство также действует как сервер.
Как вы можете себе представить, PhoneGap не будет хорошо конкурировать с Unity, Corona SDK или Cocos с точки зрения игр, но он может легко превосходить эти платформы для бизнеса, производительности и корпоративного кодирования. Основа HTML 5 означает, что компания может разработать собственное веб-приложение и нажимать его на устройства.
Разработчики PhoneGap выигрывают от надежной библиотеки плагинов, которая расширяет возможности кросс-платформенных мобильных приложений.
PhoneGap также хорошо взаимодействует с Sencha, который является платформой для создания веб-приложений.
Первичное использование: Производительность и бизнес
Продолжить чтение ниже
И больше…
Corona SDK, Unity, Cocos и PhoneGap представляют собой одни из самых популярных кросс-платформенных пакетов разработки, но есть много других вариантов. Некоторые из них не столь надежны, требуют больше времени от кода до фактической сборки или стоят дорого, но они могут быть в порядке для ваших нужд.
- QT: Хороший выбор для корпоративных и продуктовых приложений, QT существует в течение некоторого времени в различных формах. Последняя сборка много полирует вокруг твердой платформы.
- Xamarin: Еще один отличный выбор для решений nongaming, Xamarin использует C # в качестве языка программирования.Xamarin специализируется на использовании собственных элементов пользовательского интерфейса, поэтому приложения выглядят так, как будто они предназначены для каждого конкретного устройства.
- конфитюр: В первую очередь игровая платформа, Marmalade имеет инструмент C и Marmalade Quick, инструмент LUA. Это удобно для перекомпиляции игр iOS для Android.
- Appcelerator: Если вы предпочитаете строить с использованием JavaScript, Appcelerator может быть вашим инструментом. Это не идеальное решение для построения кода в один раз - все-таки у вас еще есть работа по созданию сборок для определенных устройств, но он утверждает, что вы можете разрабатывать для каждого устройства без гибридных компромиссов.




