...

суббота, 12 июля 2014 г.

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



На работе меня попросили сделать сравнительную характеристику нескольких продуктов для создания кроссплатформенных мобильных приложений: 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).


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


  • 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


  • Нативные приложения под мобильные ОС: 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


  • Используя «модули», которые можно загружать или создавать самому (для этого необходимы навыки нативной разработки под нужную платформу), можно расширять возможности 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


  • Панель наблюдения в режиме реального времени за жизненным циклом приложения (от прототипа до публикации).

  • Система аналитики для бизнес-пользователей, где в реалтайме можно отслеживать все показатели приложения. Также есть специальное приложение для 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/пользователь/год.





Что из этого выбирать — решать вам. Надеюсь этот краткий обзор кому-нибудь сэкономит время в поисках подходящего решения. Плюсы и минусы каждого фреймворка, к сожалению, не имеет смысла описывать, не поработав с каждым из них. Надеюсь, что в комментариях к статье кто-нибудь поделится со мной полезной информацией касательно этой темы и, может быть, статья будет дополняться.


This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.


Комментариев нет:

Отправить комментарий