Обзор 7 самых популярных кроссплатформенных мобильных фреймворков

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

Интересные возможностиОтличительные фишки платформ, которые захотелось выделить.1) Appcelerator Titanium

37c11e55cb18cdcc4f907f359a684909.png

Приложения выглядят и ведут себя как нативные, но полностью написаны с использованием 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

44ff6b42c18cdd36f55f119a20b058ba.png

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

dec62ca23ed0fd448741b6bb9a2f26fb.png

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

a214bca776cb2326c760faf1034a525b.png

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

9992c185c4d7a65a64e3bfa03d4a3cd0.png

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

cd6fc83844a9bac603ac6787cecafb8c.png

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

96497c2e74675c6ffd5f742f38bfe9d3.png

Создание нативных iOS, Android, Mac и Windows приложений с помощью языка C#. Причем, в отличие от Appcelerator, код не интерпретируется на стадии выполнения, а компилируется сразу в нативный код. Поэтому поведение, вид и производительность такая же как и у родных приложений! UI создается для каждой платформы с помощью стандартных для этих платформ view. Xamarin Test Cloud — сервис автоматизированного тестирования приложения на сотнях виртуальных мобильных устройствах. Огромное количество компонентов (плагинов) для расширения возможностей Xamarin. Покупки в приложениях (in-app purchases). Инструменты разработки Наличие собственной IDE, плагинов к популярным IDE и других инструментов разработки. 1) Appcelerator TitaniumTitanium 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 WorklightWorklight 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Нативные приложения под мобильные ОС: 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 PhoneGapMobile-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Используя «модули», которые можно загружать или создавать самому (для этого необходимы навыки нативной разработки под нужную платформу), можно расширять возможности Titanium. Есть свой магазин компонентов (520 на данный момент и 204 из них бесплатные). e69293714c9bd3054a6c277d95157df9.png2) 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), огромное количество из них бесплатные. cd956be1146e9fc6fe2344cb158eb7a7.png Аналитика, крэш-репорты, логи, аудит и менеджмент Возможности наблюдения за приложением, пользователями, а также средства для мониторинга ошибок и просмотра логов. 1) Appcelerator TitaniumПанель наблюдения в режиме реального времени за жизненным циклом приложения (от прототипа до публикации). Система аналитики для бизнес-пользователей, где в реалтайме можно отслеживать все показатели приложения. Также есть специальное приложение для 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 (расценки на сайте)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/пользователь/год. Что из этого выбирать — решать вам. Надеюсь этот краткий обзор кому-нибудь сэкономит время в поисках подходящего решения. Плюсы и минусы каждого фреймворка, к сожалению, не имеет смысла описывать, не поработав с каждым из них. Надеюсь, что в комментариях к статье кто-нибудь поделится со мной полезной информацией касательно этой темы и, может быть, статья будет дополняться.

© Habrahabr.ru