
На работе меня попросили сделать сравнительную характеристику нескольких продуктов для создания кроссплатформенных мобильных приложений: Appcelerator Titanium, Kony Platform, Adobe PhoneGap, IBM Worklight, Telerik Platform, Verivo Akula, Xamarin. Потратил немало времени, поэтому решил, что лучше поделиться с хабрасообществом полученными данными, вдруг кому покажется полезным. Сразу скажу, что кроме PhoneGap я до этого не сталкивался и не работал ни с каким из этих фреймворков, поэтому уверен, что что-то упустил, где-то, возможно, не так понял, а в чем-то оказался не прав. Но в комментариях надеюсь услышать ваше мнение и исправить недочеты.
В конце статьи поместил несколько опросов, которые помогут понять популярность и рейтинг этих фреймворков.
Интересные возможности
Отличительные фишки платформ, которые захотелось выделить.
1) Appcelerator Titanium

- Приложения выглядят и ведут себя как нативные, но полностью написаны с использованием JavaScript (js код в рантайме транслируется в нативные view).
- UI можно создавать отдельно для каждой платформы с использованием фреймворка Alloy (интегрированный MVC фреймворк, использующий XML и CSS-подобный синтакс). Несмотря на то, что создание отдельного UI для каждой ОС усложняет разработку и сильно снижает объем переиспользуемого кода, вся бизнес-логика, модель и ядро приложения все же остаются одинаковыми для любой платформы.
- Магазин плагинов и компонентов (520 компонентов и 204 из них бесплатные) – все, что только может понадобится для приложений: аналитика, реклама, облачные хранилища, социальные сети, работа с графикой и т.д.
- Аналитическая платформа (мониторинг данных о приложении в режиме реального времени, мониторинг производительности, крэшей, логов и даже самого процесса создания приложения)
- Полная автоматизация тестов.
- Встроенные коннекторы к самым популярным enterprise-платформам (Salesforce, SAP, Oracle, Microsoft Dynamics и SharePoint), коннекторы к популярным приложениям (LinkedIn, PayPal, DropBox, Facebook, Twitter и др.). Возможность создавать свои собственные коннекторы к любым сервисам.
2) Kony Platform

- Web, гибридные и нативные приложения для смартфонов, планшетов и десктопных устройств, написанные с единым кодом.
- Поддержка полного цикла создания приложения (дизайн, разработка, тестирование, развертывание и управление кроссплатформенным приложением).
- Возможность показывать и делиться прототипами и приложениями между дизайнерами и разработчиками (можно даже комментировать и обсуждать какие-то проблемные места на макетах).
- Доступ к бэкенд-сервисам, используя тысячи (по крайней мере они так утверждают) RESTful APIs.
- Гибкая возможность выбирать фреймворки для разработки (включая JavaScript и PhoneGap) и нативные средства (iOS, Android).
- Превью приложений в режиме реального времени.
- Возможность отсылать сообщения и уведомления пользователям (push services).
- Сервисы синхронизации (sync services) позволяют подключаться к любым сторонним enterprise сервисами.
- Система отчетов и аналитики. Определение устройств, крэш-логи.
- Авторизация и безопасность.
- Обновление приложения, управление настройками и версиями.
3) Adobe PhoneGap

- Приложение работает как обычная веб-страница внутри WebView, соответственно все строится на основе всем знакомых HTML, CSS и JS. Но при этом PhoneGap API дает нам возможность использовать все возможности устройства в приложении: камера, звук, GPS, файловая система, контакты, уведомления и т.д.
- Из-за того, что PhoneGap приложение строится на основе WebView, его можно внедрить в нативное приложение (получим гибридное приложение).
- Можно скомпилировать под любую существующую мобильную платформу, включая Tizen, Bada, Firefox OS. Причем сделать это можно буквально в пару кликов, используя облачный сервис PhoneGap Build.
- Фреймворк сам по себе небольшой и простой, поэтому порог вхождения в разработку на PhoneGap довольно низок, достаточно знать лишь основные веб-технологии.
- Это открытый и бесплатный продукт.
4) IBM Worklight

- Создан на основе Apache Cordova (как и PhoneGap), поэтому также можно создавать web-приложения, а также гибриды (с возможностью пересылать сообщения и данные между нативными и web модулями).
- Поддержка интернационализации.
- Поддержка USSD-сервисов.
- Сервис аналитики приложения.
- Безопасность на каждом уровне – пользователь, устройство, данные, приложение.
- Возможность обновления ресурсов приложения.
5) Telerik Platform

- Встроенные отзывы пользователей (user feedback).
- Платформа аналитики.
- Портал AppManager, куда можно загружать свои приложения, назначать доступ к ним, приглашать и управлять пользователями. (своеобразный собственный Play Market).
- Автоматизированное тестирование нативных, гибридных и web-приложений.
- Пуш-уведомления.
- Собственная продвинутая веб-IDE, соответственно создавать приложения можно прямо в браузере с любого устройства (с нормальным браузером конечно) в любой точке мира (с доступом к интернету).
- Дизайн и создание прототипов.
- Система контроля версий (VCS).
- Как и PhoneGap и Worklight, Telerik основан на Apache Cordova со всеми ее достоинствами и недостатками.
6) Verivo Akula

- Создание нативных и гибридных приложений.
- Система удаленного управления своими приложениями.
- Интеграция с enterprise-сервисами.
- Пуш уведомления.
- Синхронизация с сервером изменений, сделанных пока приложение было в оффлайне.
- Возможность использовать для разработки любую привычную и любимую IDE (IDEA, Eclipse, NetBeans и др.), а также есть собственная Verivo AppStudio.
7) Xamarin

- Создание нативных iOS, Android, Mac и Windows приложений с помощью языка C#. Причем, в отличие от Appcelerator, код не интерпретируется на стадии выполнения, а компилируется сразу в нативный код. Поэтому поведение, вид и производительность такая же как и у родных приложений!
- UI создается для каждой платформы с помощью стандартных для этих платформ view.
- Xamarin Test Cloud – сервис автоматизированного тестирования приложения на сотнях виртуальных мобильных устройствах.
- Огромное количество компонентов (плагинов) для расширения возможностей Xamarin.
- Покупки в приложениях (in-app purchases).
Инструменты разработки
Наличие собственной IDE, плагинов к популярным IDE и других инструментов разработки.
1) Appcelerator Titanium
2) Kony Platform
3) Adobe PhoneGap
4) IBM Worklight
5) Telerik Platform
У них вообще инструменты разработки следуют модным веяниям облачных приложений, поэтому они создали web IDE (так называемые ICE – integrated cloud environment).
Состоит она из 5 модулей для всех этапов разработки:
Кроме того, есть расширение для Visual Studio, клиент для Windows, расширение для Sublime Text.
6) Verivo Akula
7) Xamarin
- Titanium Studio, основанная на Eclipse.
2) Kony Platform
- Основанная на Eclipse Kony Studio (Kony Visualization Cloud – для дизайна и прототипирования, Kony Development Cloud – разработка, Kony Management Cloud – управление приложениями).
3) Adobe PhoneGap
- Собственной среды разработки нет, но по сути это и не особо нужно. Зато есть интеграция с Adobe Dreamweaver и Brackets.
- Также есть некое приложение «Developer App», которое позволяет мгновенно смотреть изменения на мобильном устройстве, без необходимости компилировать разрабатываемое приложение и собирать его.
4) IBM Worklight
- Worklight Studio – плагин для Eclipse, превращающий его в среду разработки на Worklight.
5) Telerik Platform
У них вообще инструменты разработки следуют модным веяниям облачных приложений, поэтому они создали web IDE (так называемые ICE – integrated cloud environment).
Состоит она из 5 модулей для всех этапов разработки:
- AppPrototyper (дизайн и прототипирование)
- AppBuilder (разработка)
- AppManager (управление)
- AppFeedback (обратная связь с пользователями)
- AppAnalytics (соответственно система аналитики)
Кроме того, есть расширение для Visual Studio, клиент для Windows, расширение для Sublime Text.
6) Verivo Akula
- Есть своя IDE Verivo AppStudio.
- Также для разработки можно использовать любую привычную среду (IDEA, Eclipse, NetBeans и др.)
7) Xamarin
- Есть своя IDE Xamarin Studio.
- Также разрабатывать можно и в любимой Visual Studio, установив специальный плагин.
Поддерживаемые платформы
Под какие ОС можно писать свои замечательные приложения.
1) Appcelerator Titanium
2) Kony Platform
3) Adobe PhoneGap
4) IBM Worklight
5) Telerik Platform
6) Verivo Akula
7) Xamarin
Судя по всему, если необходимо по-настоящему кроссплатформенное приложение, то Kony предоставляет самый широкий выбор платформ.
- Нативные приложения под мобильные ОС: iOS, Android, BlackBerry, Tizen, Denso.
Mobile-web приложения под те же платформы. - Десктопные приложения под Windows, Mac.
2) Kony Platform
- Десктопные приложения под Windows, Mac.
- Веб-приложения для браузеров IE 8+, Safari 5+, Chrome 20+, Opera 12+, Firefox 4+.
- Приложения для смартфонов и планшетов — iOS, Android, Blackberry, Windows Phone.
- Приложения для инфокиосков.
3) Adobe PhoneGap
- Mobile-web приложения: iOS, Android, Windows Phone, Blackberry, Ubuntu, Firefox OS.
4) IBM Worklight
- Мобильные нативные и mobile-web: Android, iOS, Blackberry, Windows Phone, Java ME.
- Десктопные: Windows 8.
5) Telerik Platform
- Мобильные: iOS, Android, Windows Phone.
- Десктопные: Windows 8.
6) Verivo Akula
- Нативные и mobile-web: iOS, Android.
7) Xamarin
- Мобильные нативные приложения: iOS, Android, Windows Phone.
- Десктопные нативные – Windows, Mac.
Судя по всему, если необходимо по-настоящему кроссплатформенное приложение, то Kony предоставляет самый широкий выбор платформ.
Языки разработки
Какие языки можно использовать для разработки приложений.
1) Appcelerator Titanium
2) Kony Platform
3) Adobe PhoneGap
4) IBM Worklight
5) Telerik Platform
6) Verivo Akula
7) Xamarin
Каким бы крутым ни был (или казался) Xamarin, он доступен только людям со знанием C#.
- JS, Python, Ruby, PHP
2) Kony Platform
- Нативные языки (Java, Objective-C, C#) — для родных приложений и гибридных решений
- JavaScript
3) Adobe PhoneGap
- Нативные языки (Java, Objective-C, C#) — для родных приложений и гибридных решений
- JavaScript
4) IBM Worklight
- Нативные языки (Java, Objective-C, C#) — для родных приложений и гибридных решений
- JavaScript
5) Telerik Platform
- .NET, Java, JS, PHP
6) Verivo Akula
- Нативные языки (Java, Objective-C, C#) — для родных приложений и гибридных решений
- JavaScript
7) Xamarin
- Только C#
Каким бы крутым ни был (или казался) Xamarin, он доступен только людям со знанием C#.
Расширяемость фреймворков
Возможность расширять базовые возможности различными плагинами и компонентами.
1) Appcelerator Titanium

2) Kony Platform
3) Adobe PhoneGap
4) IBM Worklight
5) Telerik Platform
6) Verivo Akula
7) Xamarin

- Используя «модули», которые можно загружать или создавать самому (для этого необходимы навыки нативной разработки под нужную платформу), можно расширять возможности Titanium.
- Есть свой магазин компонентов (520 на данный момент и 204 из них бесплатные).

2) Kony Platform
- FFI (Foreign Function Interface) – расширения для платформы, которые можно писать, используя нативные языки. Но проблема в том, что их очень мало и сложно найти, в итоге разработчики ругаются, что для обычных мелочей приходится писать эти расширения. (Если кто знает подробности, пожалуйста, напишите в комментариях).
3) Adobe PhoneGap
- В JS разработке можно использовать какие угодно JS библиотеки (jQuery, Sencha Tuch и т.д.).
- Сам PhoneGap поддерживает плагины, которые можно найти в интернете или написать самому. Но существуют различные проблемы совместимости с разными платформами. (Кто пробовал, пожалуйста, опишите в комментариях подробности).
4) IBM Worklight
- Аналогично PhoneGap, так как Worklight создан на основе Apache Cordova, как и PhoneGap.
5) Telerik Platform
- Можно использовать специальные плагины для Verivo, а также плагины для Apache Cordova, которые можно найти в интернете или писать самому.
6) Verivo Akula
- Нужные модули можно разработать самому, используя Java. Сама платформа еще только развивается, поэтому скорее всего готовых решений еще очень мало, если вообще можно найти.
7) Xamarin
- У Xamarin есть свой магазин компонентов, где на данный момент выложено 200 расширений (в основном для iOS и Android), огромное количество из них бесплатные.

Аналитика, крэш-репорты, логи, аудит и менеджмент
Возможности наблюдения за приложением, пользователями, а также средства для мониторинга ошибок и просмотра логов.
1) Appcelerator Titanium
2) Kony Platform
3) Adobe PhoneGap
4) IBM Worklight
5) Telerik Platform
Система статистики, которая включает:
6) Verivo Akula
7) Xamarin
- Панель наблюдения в режиме реального времени за жизненным циклом приложения (от прототипа до публикации).
- Система аналитики для бизнес-пользователей, где в реалтайме можно отслеживать все показатели приложения. Также есть специальное приложение для iOS и Android.
- Система управления (Management Dashboard), где можно следить за производительностью приложений, возникающими исключениями, просматривать креш-репорты.
2) Kony Platform
- Встроенная система аналитики и креш-репортов.
- Интеграция с Omniture, IBM Coremetrics, Google Analytics и WebTrends.
- Возможность задания кастомных атрибутов через специальное API для создания кастомных репортов.
- Возможность отслеживания действий пользователя (детальный аудит).
3) Adobe PhoneGap
- Отсутствие своих систем аналитики. Но так как это веб-приложение, вы можете интегрировать любую стороннюю систему, например Google Analytics (в интернете есть даже специальные плагины для этого). Та же ситуация и с креш-репортами (только вот плагинов я не нашел).
4) IBM Worklight
- Система аналитики для enterprise-клиентов, которая позволяет следить в реалтайме за логами и событиями, которые собираются со всех приложений, устройств и серверов.
- Креш-репорты и гибкая настройка логов.
5) Telerik Platform
Система статистики, которая включает:
- Запуски и работа приложений.
- Просмотр пользователей и сессий.
- Отслеживание собственных событий.
- Отслеживание возникающих исключений.
6) Verivo Akula
- Нет, вообще ничего. Платформа новая и еще только начинает развиваться.
7) Xamarin
- Встроенных средств нет. Но зато есть много разных плагинов, которые решают эту проблему.
Цены и тарифные планы
Ну и наконец, сколько же все это безобразие стоит.
1) Appcelerator Titanium (расценки на сайте)
2) Kony Platform (расценки на сайте)
3) Adobe PhoneGap
Полностью бесплатный.
Но зато есть тарифные планы для сервиса PhoneGap Build (облачная система сборки приложений под любые платформы):
4) IBM Worklight
Не нашел таких данных. Чтобы узнать цену, нужно связаться с ними, так что это только для корпоративных клиентов. Если кто знает подробности, укажите в комментариях.
5) Telerik Platform (расценки на сайте)
6) Verivo Akula
Тут мы видим тоже явный упор на корпоративных клиентов, отсюда и космические ценники. Чтобы узнать цену, нужно связаться с ними.
7) Xamarin (расценки на сайте)
- Developer — бесплатно (без системы менеджмента)
- Enterprise (все фишки платформы + support) – цену не указывают, предлагая связаться с ними, так что если кто знает их корпоративные расценки, укажите в комментариях.
2) Kony Platform (расценки на сайте)
- Trial (90 дней) – бесплатно.
- Standard (1 приложение) — $19/пользователь/мес.
- Professional (3 приложения) — $39/ пользователь/мес.
- Enterprise (неограниченное кол-во приложений) – договорная цена.
3) Adobe PhoneGap
Полностью бесплатный.
Но зато есть тарифные планы для сервиса PhoneGap Build (облачная система сборки приложений под любые платформы):
- Developer (неограниченное кол-во публичных приложений, но только 1 приватное) — бесплатно.
- Starter (3 приватных приложения) — $12/мес., $120/год (экономия $24).
- Team (10 приватных приложений, до 3 сотрудников) — $30/мес., $300/год (экономия $60).
- Corporate (25 приватных приложений, до 10 сотрудников) — $90/мес., $900/год (экономия $180).
4) IBM Worklight
Не нашел таких данных. Чтобы узнать цену, нужно связаться с ними, так что это только для корпоративных клиентов. Если кто знает подробности, укажите в комментариях.
5) Telerik Platform (расценки на сайте)
- Trial (30 дней) — бесплатно.
- Developer (1 приложение, без множества фич) — $49/мес., $468/год (экономия $120).
- Professional (гибридные и нативные приложения)- $119/пользователь/мес., $948/пользователь/год (экономия $480).
- Business (веб, гибридные и нативные приложения) — $224/пользователь/мес., $1788/пользователь/год (экономия $900).
6) Verivo Akula
Тут мы видим тоже явный упор на корпоративных клиентов, отсюда и космические ценники. Чтобы узнать цену, нужно связаться с ними.
- Trial (30 дней) — бесплатно.
- Enterprise — $5000-$60000/год.
7) Xamarin (расценки на сайте)
- Starter (индивидуальный план, без множества фич) — бесплатно.
- Indie (индивидуальный план, без некоторых фич) — $299/год.
- Business (для организаций, без некоторых фич) — $999/пользователь/год.
- Enterprise (для организаций, все включено) — $1899/пользователь/год.
Что из этого выбирать — решать вам. Надеюсь этот краткий обзор кому-нибудь сэкономит время в поисках подходящего решения. Плюсы и минусы каждого фреймворка, к сожалению, не имеет смысла описывать, не поработав с каждым из них. Надеюсь, что в комментариях к статье кто-нибудь поделится со мной полезной информацией касательно этой темы и, может быть, статья будет дополняться.
________________________________________________________________
UPDATE 15.07.2014
Добавлен раздел «Языки разработки». Пара дополнений в статье.
________________________________________________________________
Only registered users can participate in poll. Log in, please.
С какими из этих фреймворков вы работали?
6.87% Appceleratior Titanium97
0.71% Kony Platform10
23.37% Adobe PhoneGap330
0.14% IBM Worklight2
1.56% Telerik Platform22
0.14% Verivo Akula2
17.14% Xamarin242
48.44% Ни с какими, но мне интересна эта тема.684
12.32% Ни с какими, и мне это нафиг не нужно.174
1412 users voted. 986 users abstained.
Only registered users can participate in poll. Log in, please.
Я работал(а) с Appcelerator Titanium и мне
13.41% Очень понравилось! Все круто.22
27.44% Понравилось, нормально, работать можно.45
19.51% Так себе, есть более интересные продукты в этой сфере.32
39.63% Не нравится, полный отстой!65
164 users voted. 1474 users abstained.
Only registered users can participate in poll. Log in, please.
Я работал(а) с Kony Platform и мне
7.04% Очень понравилось! Все круто.5
9.86% Понравилось, нормально, работать можно.7
21.13% Так себе, есть более интересные продукты в этой сфере.15
61.97% Не нравится, полный отстой!44
71 users voted. 1448 users abstained.
Only registered users can participate in poll. Log in, please.
Я работал(а) с Adobe PhoneGap и мне
12.19% Очень понравилось! Все круто.39
45.31% Понравилось, нормально, работать можно.145
15.94% Так себе, есть более интересные продукты в этой сфере.51
26.56% Не нравится, полный отстой!85
320 users voted. 1455 users abstained.
Only registered users can participate in poll. Log in, please.
Я работал(а) с IBM Worklight и мне
6.35% Очень понравилось! Все круто.4
19.05% Понравилось, нормально, работать можно.12
22.22% Так себе, есть более интересные продукты в этой сфере.14
52.38% Не нравится, полный отстой!33
63 users voted. 1434 users abstained.
Only registered users can participate in poll. Log in, please.
Я работал(а) с Telerik Platform и мне
9.86% Очень понравилось! Все круто.7
19.72% Понравилось, нормально, работать можно.14
19.72% Так себе, есть более интересные продукты в этой сфере.14
50.7% Не нравится, полный отстой!36
71 users voted. 1420 users abstained.
Only registered users can participate in poll. Log in, please.
Я работал(а) с Verivo Akula и мне
12.73% Очень понравилось! Все круто.7
10.91% Понравилось, нормально, работать можно.6
14.55% Так себе, есть более интересные продукты в этой сфере.8
61.82% Не нравится, полный отстой!34
55 users voted. 1417 users abstained.
Only registered users can participate in poll. Log in, please.
Я работал(а) с Xamarin и мне
34.72% Очень понравилось! Все круто.92
34.72% Понравилось, нормально, работать можно.92
11.7% Так себе, есть более интересные продукты в этой сфере.31
18.87% Не нравится, полный отстой!50
265 users voted. 1476 users abstained.
Only registered users can participate in poll. Log in, please.
Насколько перспективной вы считаете работу в сфере кроссплатформенной разработки для мобильных устройств?
39.75% Гораздо перспективнее нативной разработки. Очень востребованы специалисты в этой сфере.316
44.28% Так себе. Может и есть во всем этом смысл, но пока нативная разработка рулит: большинство заказчиков со своими деньгами именно там.352
15.97% Там нечего ловить, иди учи Objective-C!127
795 users voted. 1035 users abstained.