Обзор Кроссплатформенных Решений Для Разработки Мобильных Приложений

В этой статье мы сравним 6 решений кроссплатформенной разработки, которые были популярны в 2016 году, и попытаемся найти лучшее решение.

Кроссплатформенные фреймворки PhoneGap, Xamarin, Unity, Qt и Appcelerator Titanium, Telerik Platform в настоящее время занимают 80% рынка кроссплатформенной разработки мобильных устройств.



Обзор кроссплатформенных решений для разработки мобильных приложений

В таблице ниже показаны основные характеристики каждого фреймворка:

PhoneGap Ксамарин Единство Qt Appcelerator Титан Телерик AppBuilder
Языки JavaScript, HTML5, CSS3 и родные языки (Java, Objective-C, C#) С#, Xaml C#, UnityScript, Бу С++ QML JavaScript, Python, Руби, PHP .

Net, JavaScript, HTML5, Java, PHP

Поддерживаемые платформы Android, iOS, Windows Phone, Blackberry, WebOS, Symbian, Bada, Ubuntu, Firefox OS. iOS, Android, Windows Phone и Windows 8/RT, Tizen Android, iOS, Windows Phone, Tizen, PS 4, Xbox One Android, iOS, WinRT, Windows, Symbian, Linux, QNX iOS, Android, BlackBerry, Windows, Tizen, Denso iOS, Android, BlackBerry, Windows, Windows Phone
Цены Цены PhoneGap Платная версия: от $9,99. Бесплатная версия: доступна Членство в Adobe Creative Cloud: доступно.

Цены Ксамарин Сообщество Xamarin Studio: бесплатно Сообщество Visual Studio: бесплатно Visual Studio Professional: доступно.

Visual Studio Enterprise: доступно.

Цены Единство Персональная версия: бесплатно Профессиональная версия: от $75 в месяц Цены Qt Есть бесплатная версия.

Платные версии начинаются от 79 долларов.

Цены Appcelerator Есть бесплатный пробный период Инди: 39 долларов в месяц Плюс: 99 долларов в месяц.

Цены Телерик AppBuilder Есть бесплатный пробный период Цена от $39 в месяц
Открытый источник + - - + + -
пользовательский интерфейс Интернет Родной Холст пользовательского интерфейса Родной Родной Интернет


PhoneGap

PhoneGap позволяет создавать мобильные приложения с использованием стандартных веб-технологий (HTML5, JavaScript и CSS3).

В результате это привело к быстрому росту популярности фреймворка; с его помощью можно обойтись без разработки на таких языках программирования, как Java для Android, Objective-C для iOS и C#.

PhoneGap Build позволяет делать сборки для iOS, Android и Windows Phone одновременно, без необходимости установки каких-либо инструментов SDK (конечно, в этом есть доля лукавства — при разработке все же лучше собирать локально, хотя бы на Android) , прежде чем отправить его на тестирование).

Но что еще более важно, этот сервис позволяет вам создавать iOS в облаке, не имея Mac. Установка PhoneGap требует невероятных усилий, поэтому советую освободить полдня.

Шучу.

Установка для XCode заняла около 3 минут - она заключалась в скачивании архива, распаковке и установке.

Вот и все.

PhoneGap предоставляет возможность использовать нативные функции мобильного устройства для работы с:

  • акселерометр,
  • камера,
  • компас,
  • контакты,
  • файловое хранилище,
  • геолокация,
  • база данных
  • события, уведомления,
  • СМИ и т. д.
Если приложение не выйдет за эти рамки, то скорость разработки с использованием фреймворка PhoneGap будет на порядок выше, чем разработка нативного приложения для каждой платформы.

видео с разработкой приложения и описанием PhoneGap.

Обзор кроссплатформенных решений для разработки мобильных приложений

Преимущества:

  • PhoneGap имеет простой API, который позволяет легко начать разработку тем, кто знаком с HTML, CSS и JavaScript.
  • Возможность использовать любые существующие библиотеки JavaScript (JQuery, Prototype, Sencha Touch)
  • Поддерживает все мобильные платформы
Недостатки:
  • Пользовательский интерфейс отображается с помощью встроенного браузера.

    Это затрудняет получение обратной связи по сравнению с нативным приложением.

  • Часто существующие плагины оказываются устаревшими, поэтому иногда приходится писать свои.



Ксамарин

Xamarin — вторая кроссплатформенная платформа в нашем списке.

Xamarin позволяет создавать единую логику приложения с использованием C# и .

NET. Функционально платформа Xamarin представляет собой ряд подплатформ.

Эти подплатформы играют большую роль — через них приложения могут маршрутизировать запросы к интерфейсам приложений на устройствах.

Определен визуальный интерфейс, логика привязана к C#, и все это будет работать на Android, iOS и Windows Phone. видео с разработкой приложений на Xamarin.

Обзор кроссплатформенных решений для разработки мобильных приложений

Преимущества:

  • Большое и растущее сообщество.

  • Разработчики могут использовать TestCloud для автоматического тестирования приложений.

  • Если вы уже знакомы с C# и .

    NET, вам не придется тратить много времени на изучение нескольких новых платформ.

  • Вы можете повторно использовать уже написанный код.
  • Приложения в разных системах будут выглядеть очень похоже.

  • Динамический макет для iOS намного проще, чем использовать ограничения вручную.

  • Благодаря CustomRenderers стандартные элементы управления легко дополняются произвольными свойствами (например, сделать градиентную заливку для кнопок занимает пару минут, хотя из коробки это не работает).

Недостатки:
  • Некоторые шаблоны интерфейса сложно реализовать на monodroid и очень сложно на monotouch, поскольку решения по умолчанию для той или иной фичи опираются на костыли платформы, которые могут просто не работать в Xamarin.
  • Есть проблемы с платформами mono, monotouch и monodroid. Ваше приложение должно соответствовать определенным требованиям к стабильности.

  • Страницы Android не могут быть размещены как часть существующего действия/фрагмента.

  • Не все элементы управления реализованы.



Телерик AppBuilder

Одна из основных причин использовать AppBuilder — это полноценная онлайн-IDE. Он позволяет создавать, тестировать и даже публиковать гибридные приложения с любого компьютера или мобильного устройства без необходимости его загрузки.

Еще одним преимуществом является возможность создавать приложения iOS, работающие в Windows или Linux. И, наконец, членство AppBuilder в платформе Telerik дает вам возможность использовать такие функции, как аналитика, всплывающие уведомления, авторизация пользователей и облачное хранилище.

Подробное описание в статья И видео .



Обзор кроссплатформенных решений для разработки мобильных приложений

Преимущества:

  • Telerik предоставляет плагины Visual Studio и Sublime Text для AppBuilder.
  • AppBuilder предлагает быстрый способ импорта плагины Кордова.

  • Полноценная онлайн-IDE.
  • Простота использования и обучения
Недостатки:
  • Небольшое сообщество


Единство

Мультиплатформенный инструмент для разработки 2D- и 3D-приложений и игр, Unity также является одним из лучших инструментов для демонстрации 3D-контента.

Приложения, созданные с помощью Unity, работают в операционных системах Windows, OS X, Linux, Android, Apple iOS, Windows Phone, BlackBerry, а также на игровых консолях Wii, PlayStation 3 и Xbox 360. видео с разработкой мобильной игры на Unity.

Обзор кроссплатформенных решений для разработки мобильных приложений

Преимущества:

  • Отличный вариант для создания мобильных игр для различных устройств.

  • 3D-движок дает высококачественные результаты без каких-либо сложных настроек.

  • Есть много хороших бесплатных плагинов
  • Unity позволяет разработчику создавать свои собственные шейдеры и изменять способ рендеринга игры в Unity.
Недостатки:
  • Пользовательский интерфейс и сложность использования для новичков
  • Исходный код недоступен
  • Компиляторы Unity не оптимизированы для процессоров ARM на некоторых мобильных устройствах.



Qt

Библиотека Qt для создания кроссплатформенных оконных приложений на C++.

Qt следует рассматривать не столько как набор классов для создания графических интерфейсов, сколько как полноценный набор классов на все случаи жизни.

Разрабатывать программы можно не только на C++, но и на языке QML, очень похожем на JavaScript. Это особое направление разработки Qt, направленное на быстрое прототипирование и разработку мобильных приложений.

видео с разработкой редактора Tiled Map Editor на Qt.

Обзор кроссплатформенных решений для разработки мобильных приложений

Преимущества:

  • В Qt есть много хороших инструментов для помощи в разработке, например: IDE QT Creator, Qt Designer и профилирование кода.

  • У него есть библиотеки, содержащие интуитивно понятные API для таких элементов, как сети, анимация и многое другое.

Недостатки:
  • Qt сложен для новичков


Appcelerator Титан

Titanium — это полностью открытая платформа для разработки, развертывания, распространения и, в конечном итоге, запуска веб-приложений.

Appcelerator Титан позволяет создавать мобильные приложения на JavaScript, HTML и CSS. Вы можете создавать современные, а главное, нативные приложения, используя любую популярную на данный момент операционную систему: Windows, GNU/Linux или MacOS X. Приложения, созданные с использованием этого SDK, будут по-настоящему нативными.

Навигационный контроллер на Android будет выглядеть знакомо и отличаться от контроллера на iOS. Причём не только внешний вид, но и сам код приложения тоже будет нативным.

Кстати, это не мешает вам создать классический WebView и наполнить его нужным веб-контентом.



Обзор кроссплатформенных решений для разработки мобильных приложений

Преимущества:

  • JavaScript упрощает разработку приложений без использования языков платформы.

  • Appcelerator позволяет делать аналитику в режиме реального времени
  • Использование собственного API повысит производительность для не очень больших приложений.

Недостатки:
  • Возникают задержки при запуске приложения из-за загрузки библиотеки.

  • Сложно создавать сложные приложения, поскольку использование JavaScript отрицательно влияет на производительность приложений.



Реагировать нативный

Что такое Реакт Натив? Это JS-фреймворк на основе JS и React — JS-библиотеки для создания пользовательского интерфейса (уровень представления).

Технология очень перспективная, но молодая, поэтому платформа местами еще сырая.

Версия для Android появилась позже, поэтому компонентов для приложений iOS пока больше.

Также стоит учитывать, что при развертывании приложения весь JS окажется на устройстве пользователя, поэтому не стоит хранить в секрете бизнес-логику на уровне представления.

Можно сказать, что теперь React Native можно использовать для быстрого прототипирования мобильных версий ваших веб-приложений.

Более того, если веб-приложение уже написано на ReactJS, то скорость передачи существенно возрастает. Пример разработка на React Native. Преимущества:

  • Единый рабочий процесс и инструменты: неважно, работаете ли вы на Android или iOS, вы все равно используете одни и те же инструменты.

  • По этой причине - скорость и простота разработки.

  • Связывание устаревшего приложения с JS API и гибридными приложениями.

    Допустим, у вас уже есть готовое приложение для iOS и вы хотите перейти на React Native. Затем вы можете обернуть нативные компоненты так, чтобы они были доступны в React Native. Таким образом, вы можете постепенно переходить на React, и в результате получается гибридное приложение — половина нативного, половина в React и несколько устаревших компонентов в JS API.

Идеального решения не существует, у каждого фреймворка есть свои плюсы и минусы.

Для очень простых приложений я бы рекомендовал использовать PhoneGap, пока отзывчивость не станет ключевым критерием.

Для более серьезной разработки лучше использовать Xamarin, но даже с Xamarin лучше совмещать нативную разработку для большинства элементов пользовательского интерфейса.

— Первый сервис продвижения на Reddit: Купить голоса Reddit Upvotes В опросе могут участвовать только зарегистрированные пользователи.

Войти , Пожалуйста.

С какими из этих технологий вы работали? 24,51% PhoneGap 174 26,06% Xamarin 185 21,41% Unity 152 30,14% Qt 214 3,52% Appcelerator Titanium 25 1,13% Telerik AppBuilder 8 12,11% Другое 86 23,8% Не работал ни с одним 169 Проголосовали 710 пользователей.

322 пользователя воздержались.

В опросе могут участвовать только зарегистрированные пользователи.

Войти , Пожалуйста.

Какой у вас опыт работы с PhoneGap? 11,69% Очень доволен 29 47,98% Работает 119 40,32% Не понравилось 100 Проголосовали 248 пользователей.

556 пользователей воздержались.

В опросе могут участвовать только зарегистрированные пользователи.

Войти , Пожалуйста.

Каков ваш опыт работы с Xamarin? 31,88% Очень доволен 73 44,1% Работает 101 24,02% Не понравилось 55 Проголосовали 229 пользователей.

559 пользователей воздержались.

В опросе могут участвовать только зарегистрированные пользователи.

Войти , Пожалуйста.

Каков ваш опыт работы с Unity? 40,98% Очень доволен 84 45,37% Работает 93 13,66% Не понравилось 28 Проголосовали 205 пользователей.

555 пользователей воздержались.

В опросе могут участвовать только зарегистрированные пользователи.

Войти , Пожалуйста.

Какой у вас опыт работы с Qt? 49,6% Очень доволен 123 33,87% Работает 84 16,53% Не понравилось 41 Проголосовали 248 пользователей.

529 пользователей воздержались.

В опросе могут участвовать только зарегистрированные пользователи.

Войти , Пожалуйста.

Каков ваш опыт работы с Appcelerator Titanium? 8,33% Очень доволен 7 32,14% Работает 27 59,52% Не понравилось 50 Проголосовали 84 пользователя.

582 пользователя воздержались.

В опросе могут участвовать только зарегистрированные пользователи.

Войти , Пожалуйста.

Какой у вас опыт работы с Telerik AppBuilder? 3,17% Очень доволен 2 17,46% Работает 11 79,37% Не понравилось 50 Проголосовали 63 пользователя.

595 пользователей воздержались.

В опросе могут участвовать только зарегистрированные пользователи.

Войти , Пожалуйста.

Какой у вас опыт работы с React Native? 27,69% Очень доволен 36 42,31% Работает 55 30% Не понравилось 39 Проголосовали 130 пользователей.

539 пользователей воздержались.

Теги: #appcelerator Titanium #Qt #Adobe PhoneGap #unity #Telerik Platform #Verivo Akula #xamarin #mobile web #mobile web #iOS #Android #windowsphone #кроссплатформенная разработка #программирование #Разработка для iOS #Разработка мобильных приложений # Разработка для Android #Разработка для Windows Phone

Вместе с данным постом часто просматривают: