Пользователь
0,0
рейтинг
12 июля 2014 в 00:31

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



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

________________________________________________________________

UPDATE 15.07.2014
Добавлен раздел «Языки разработки». Пара дополнений в статье.
________________________________________________________________
С какими из этих фреймворков вы работали?

Проголосовало 1294 человека. Воздержалось 903 человека.

Я работал(а) с Appcelerator Titanium и мне

Проголосовало 150 человек. Воздержалось 1369 человек.

Я работал(а) с Kony Platform и мне

Проголосовало 62 человека. Воздержалось 1352 человека.

Я работал(а) с Adobe PhoneGap и мне

Проголосовало 296 человек. Воздержалось 1346 человек.

Я работал(а) с IBM Worklight и мне

Проголосовало 53 человека. Воздержалось 1336 человек.

Я работал(а) с Telerik Platform и мне

Проголосовало 60 человек. Воздержалось 1325 человек.

Я работал(а) с Verivo Akula и мне

Проголосовало 46 человек. Воздержалось 1323 человека.

Я работал(а) с Xamarin и мне

Проголосовало 239 человек. Воздержалось 1366 человек.

Насколько перспективной вы считаете работу в сфере кроссплатформенной разработки для мобильных устройств?

Проголосовало 748 человек. Воздержалось 959 человек.

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

Дмитрий @Demven
карма
32,7
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

Комментарии (53)

  • +4
    А Cordova сама не входит в список?
    • +2
      По идее должна входить. Я например предпочёл Cordova (вместо PhoneGap), т.к. на Cordova её плагины встают без проблем, а вокруг PhoneGap пришлось танцевать и просить работать.
  • +21
    Qt ?!
    • 0
      Ну, на Qt я живых приложений в том же Play Market-е не видел (нет, вру, видел одно, но так и не смог его запустить, потому что оно начало скачивать какие-то зависимости, ругаться на что-то, а потом и вовсе повесило телефон), но вот отсутствие того же Adobe AIR достаточно интересно. Хотя на пару с Apache Flex этот самый AIR вполне себе приспособлен под кроссплатформенную разработку «не игрушек».
      • +7
        Ну, например, 2gis на QT написан, если я не ошибаюсь.
      • +1
        Сделайте поиск по слову QT в магазинах.
      • +2
        Видишь суслика? Нет. И я не вижу, а он есть.


        На самом деле есть приложения в маркете, которые базируются на Qt. Притом не только 2Гис, над которым они сами колдовали, а созданные с помощью Qt Creator (без кастомных бубнов)!
      • 0
  • +1
    В этот список я бы добавил Monaca — облачная IDE, бекенд с поддержкой пуша, больше плюшек, правда за деньги.
  • +2
    Отличная статья, спасибо
  • +4
    Sorry for English — don't want to use transliteration. Info about Kony not full, prices are not actual (they're Kony cloud prices and cloud is SaaS). If someone interested — can go into details. Disclaimer: I'm not a Kony employee :)
    • –15
      Moya, tvoya ne ponimat
    • 0
      Проблемы с настройкой русской раскладки, поэтому пишешь по-английски? Занятно.
      Так сразу бы написали тарифы, что за скрытность? Даже если вы там не работаете.
    • 0
      В статье я просил читателей делиться со мной информацией, если кто-нибудь может помочь дополнить статью. Был бы здорово, если бы вы поделились с нами актуальными ценами и личным опытом от работы с Kony :)
      • +3
        Ок, постараюсь пользоваться транслитерацией.

        Конкретно по ценам не скажу, это зависит от клиента. В целом надо понимать, что использовать Kony для «просто проложений» — это палить из пушки по воробъям.
        Основной фишкой является вся инфраструцтура в целом (например, middleware, которий можно деплоить под WebShpere и он будет хендлить все клиентские сервисы, за счет кластеризации сферы все очень просто масштабируется).

        Новым направлением является Cloud — provisioning енва делаэтся по клику мышки, деплой — еще по одному.

        Из проблем: нет контролов (т.е. с точки зрения UI прийдется много копипастить), вменяемий MVP framework будет только в следуюшей major версии, про аналитку — это рекламный ход (реализовивать прийдется самому через FFI), маленькоe community — в основном enterprise сектор (но достаточно бистрый и адекватный support), иногда встречаются весьма экзотическиe баги на фикс которых уходит много времени (необходимо связываться с сапортом, шарить логи etc.)

        В целом, я бы сказал, если нет цели использовать всю инфраструктуру коней, лучше используйте Xamarin или native :)
  • +2
    А как на счет RhoMobile/Rhodes?
  • 0
    У Xamarin есть еще и Trial на 30 дней, который позволяет использовать фичи Indie. Кроме того, они предоставляют скидки на лицензии студентам, но для этого надо с ними связываться.
    • 0
      Поэтому поведение, вид и производительность такая же как и у родных приложений!

      В последней версии так и есть? Потому что смотрел месяцев 7-8 назад, на не топовых телефонах (с 1-2 ядрами и памятью менее 1 Гб) разница в скорости старта приложения или при переходе между некоторыми экранами/реакциями на клики была заметна, если сравнивать с тем же кодом нативного приложения. Причем повторный клик или переход между экранами был уже с обычной скоростью, такое ощущение, что приложение компилировалось по кускам на лету, хотя вроде как не так должно было бы быть.
      • +3
        В iOS версии приложений разницы не замечал, а вот в Android версии ответить затрудняюсь, т.к. пользуюсь своим смартфоном (HTC Desire C) преимущественно для звонков и на мой взгляд тормозит все одинаково.
        • +3
          У Xamarin различный подход для iOS и Android. В iOS код приложения будет компилироватся в нативный код, в случае Android — подымается виртуальная машина дотнет (параллельно с Dalvik\Art), которая будет выполнят байткод.
  • +5
    Kony это просто ад, ни поддержки человеческой (люди в форумах годами ждут ответов), ни возможностей (ни один из виджетов не работает как надо, у каждого что-то да сломано). Вырвиглазный IDE, ужасающий синтаксис js API. Пришлось использовать только потому что у клиента была договоренность уже с Kony, после этого проекта, в страну Коней ни ногой!
    • 0
      Ну, как IDE никто не мешает использовать ту же idea, например. Про support не соглашусь, реагируют в течении бизнес дня, возможно, зависит от типа лицензии
      • +3
        возможно, но компания-клиент для которой делался проект совсем не маленькая, думаю и лицензия у них была соответствующая.. Когда я смотрел в последний раз на Кони, там даже не было поддержки arc (не знаю появилась ли она сейчас), так что все FFI писались по-старинке, казалось как будто в 2009 вернулся. Нельзя не упомянуть про замечательный процесс компиляции на виндовой VM, переброску файла на хост mac os и замечательную команду perl extract.pl kbf/konyappiphone.KAR которая и генерирует наш проект, причем делать это нужно каждый раз, когда хочется что-то поменять. Ну а отсутствие дебаггера это уже просто мелочи, после того как смержишь все конфликты в .properties файлах, которые обновляются и меняют timestamp каждый раз при компиляции. А уж про то чтобы пользоваться git для сгенерированного проекта можно просто забыть, потому что меняется ВСЕ, так что если вы тот несчастный, которому нужно работать в команде, то Кони вас точно не обрадует. А, и на последок libkonyios_debug.a и libkonyios.a настолько велики, что в репозиторий на githubе например, они не влезут.
        И это только то что я навскидку вспомнил, старался забыть о Кони, как о страшном сне. Скорее всего худший фреймворк, с которым мне приходилось работать.
        Надеюсь вы действительно не работает на Кони, не хотел вас ничем обидеть, но это просто реально ужас, а не продукт.
        • 0
          Вот ради таких вот комментариев, я и решился на эту статью! Спасибо за то, что поделились опытом.
  • +2
    Наткнулся на MoSync. Можно писать на HTML5/JS и на C/C++
    Из интересных фич для Android компиляция в бай-код Dalvik.

    Кто нибудь пользовался? Насколько он популярен?
    • 0
      Судя по всему, проект заглох — SDK от 30 May 2013, в Newsletter Archives последняя запись — Jan 2013, форум полон спама.
  • +1
    Хоть какой-то из этих фреймворков позволяет делать андройд виджеты?
    Appcelerator Titanium заявляет о поддержке iOS 8 виджетов, но про андройд ни слова.
    • 0
      На xamarin совершенно точно можно. Собственно на нем можно всё, что можно и на нативных инструментах сделать.
  • +10
    В статье нет самого главного — сравнения производительности ;-) Мне кажется — было бы хорошим материалом для статьи написать на каждом фраемворке простое приложение со сложной формой и листом с большим количеством элементов и сравнить скорость запуска, плавность прокрутки и скорость разработки. Готов взять на себя xamarin версию такого приложения ;-)
    • +1
      Вот это и есть то главное, на что следует обращать внимание. Сразу будет видно, где ужасный синтаксис, а где жуткие тормоза.
  • +1
    Народ, кто нибудь xamarin пользовался? Как впечатления? Просто по описанию он мне очень понравился. Интересно что на деле
  • 0
    Unity3D тоже отлично справляется, хоть и заточен более под гейм дев.
    • +1
      С чем он отлично справляется? Он нормально справляется с кроссплатформенностью для написания игр, для обычных приложений он не подходит совсем, поэтому здесь Unity не упоминают.
      • +1
        Смотря что понимать под обычным приложением. Я лично создал несколько не игровых приложений в Unity, и он отлично справился.
        • 0
          дай ссылки!
          интересно глянуть
          • 0
            Приложения создавали в одни руки, без выкладывания в магазины. Решали конкретные задачи.
            Не спорю, что это не профиль данного движка, но создавать не игровые приложения на нем можно.
  • +1
    Я бы разделил Xamarin и Xamarin Forms на две части. Первый дает делать нативные приложения, используя нативные фреймворки, но на C#. Тут нет кросс-платформенности, только высокая реюзабельность кода, но зато все работает очень быстро и можно использовать мануалы и подходы от ObjC/Java. Xamarin.Forms это их новая попытка сделать набор универсальных контролов и утилит, чтобы единый код потом компилить под Xamarin.iOS, Android и WP. Пока что результат не очень — сырой, ограниченный и тормозит. Но они работают и правят довольно быстро, от 1.0 до 1.1.0.6110 путь прошли за пару масяцев, а изменилось порядочно. Заодно, XF бесплатен.
    Ну и да, студенты получают бизнес версию Xamarin за $99/платформа.
  • +1
    Создан на основе Apache Cordova (как и PhoneGap)
    Какие отношения между Cordova и PhoneGap? Кто на ком создан/от кого отпочковался/никак не связан/совместим? Я всегда считал, что PhoneGap раньше Cordova появился (и второй просто совместим по API с первым), а тут выясняется, что PhoneGap наследник Cordova.
  • +4
    Пользовался Cordova. Всё нравится, система делает то, что заявлено: позволяет создавать проекты на вебстеке. При этом сборка, деплой на устройство делается в одну команду. Доступны плагины, которые делают доступным для JS-рантайма аппаратные фичи платформы (и не только). Установка плагинов также очень проста. Выбор платформ для деплоя тоже прост, количество платформ поражает воображение (если при этом на них ещё и будет работать, то вообще потрясно).

    Cordova не обязывает ко многим вещам. От разработчика требуется предоставить главный html-файл, в котором указать скриптовый файл cordova.js. Система использует переданный файл в качестве стартового для WebView, а файл скрипта предоставит API платформы. Совершенно не ограничиваются какие бы то ни было веб-библиотеки/фрейворки. Всё ограничивается только возможностями целевого WebView (к примеру, iOS / Android поддерживают flexbox, но старые модели андроида имеют частичную поддержку).

    Определённо, Cordova позволяет веб-разработчику начать делать реальное мобильное приложение ещё не обладая специфическими знаниями мобильных платформ.
  • +1
    Только нативный код, только хардкор!
  • 0
    А как же stencyl? Мне, например, очень понравился, правда заточен по геймдев.
    • 0
      Приятный, но производительность приложений по моему слабая. Во всяком случае у меня была производительность никудышная для игры типа танчиков.
  • 0
    Интересно почему забыли про Appercode? Российская разработка, насколько я помню они располагаются в Академпарке Академгородка под Новосибирском, вполне классные ребята.
    • +1
      А это разве не надстройка над Xamarin? Интересная была у них идея писать интерфейс в XAML под все платформы, но уже тоже самое предлагает Xamarin.Forms.
  • +1
    Последняя голосовалка не вполне раскрывает возможности и задачи кроссплатформенной мобильной разработки. Есть задачи где нужны именно кроссплатформенные, а не нативные инструменты. Вот мой short-list:

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

    2. Простейшие приложения. Но нужные на всех платформах. Аналог сайтов-визиток. Тормознутось того же PhoneGap в приложении-визитке никак не проявится.

    3. Отсутствие денег на нативную разработку под кучу платформ не должно быть причиной не делать приложение, если вы верите в идею. Примерно то же что и п.1, но в production.

    4. Когда вам нужно не 2.5 основные платформы а 10 — то Cordova и его последователи практически остаются без конкурентов.

  • 0
    Автор, добавьте пожалуйста в описание Telerik Platform, что это тоже продолжение Apache Cordova.
  • 0
    Еще есть Steroids от AppGyver.
  • +2
    Про Intel XDK забыли. Тоже, если не ошибаюсь, развитие Apache Cordova.
    • 0
      Спасибо, интересная штука!
  • 0
    Фишки, конечно, описаны языком маркетолога, не все так хорошо, как хотелось бы.

    Комментаторы и автор поста, огромная просьба, выкладывайте примеры своих работ на описанных фреймворках. Интересно все же посмотреть.

    Сам разрабатывал под PhoneGap, но показать проект не могу по причине NDA. В разработке были места, где пришлось долго и упорно плясать с бубном, некоторые проблемы так и не были решены. На выходе получается ничего такой продукт способный шустро работать на последних девайсах Apple, с Android все сложнее в плане скорости работы.
  • 0
    Sencha Touch — это Javascript-фрэймворк для создания кроссплатформенных веб-приложений, но к нему есть консольная утилита Sencha Cmd, которая делает из вашего веб-приложения PhoneGap-программу для iOS и Android.
    Можно, конечно, отнести его к PhoneGap или Apache Cordova.
  • 0
    Появилась еще одна альтернатива для .NET разработчиков — Ubiq Mobile. Приложения работают под Android, iOS, Windows Phone и на старых Java телефонах и коммуникаторах. Быстрая кросс-платформенная .NET разработка. Не требует особых навыков разработки мобильных приложений. Есть готовые шаблоны и компоненты. В основе — облачная архитектура. Краткий обзор How to create simple UbiqMobile application с видео.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.