Пользователь
0,0
рейтинг
21 октября 2010 в 17:48

Разработка → Кроссплатформенная разработка на мобильных устройствах перевод

Сравнение PhoneGap vs. Titanium vs. Rhodes

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

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

PhoneGap и Titanium используют HTML, CSS, and Javascript. Они оба поставляют Javasript API, чтобы иметь доступ к родным возможностям устройства. (GPS/Геолокация, вибрация, Accelerometer, звук…). Rhodes основывается на Ruby, который используется в качестве сервера, который генерирует html-контент. Через ruby и происходит взаимодействие с родными функциями устройств.

Для Titanium и PhoneGap логика приложения выполняется внутри родного для устройства WebView-контрола. В основном любая функция телефона может быть перенесена на javascript. С другой стороны обычное web-приложение, которое выполняется внутри браузера на мобильном устройстве, не имеет доступа к мобильному SDK из-за причин безопасности.

Хоть на сайте Titanium и пишется, что приложения компилируются в родной для устройства код, не верьте этим словам. Ваш javascript упаковывается в ресурсы приложения. Когда приложение запускается, оно загружает ресурсы в UIWebView-контрол и запускает их как javascript.

То же самое можно сказать и про PhoneGap. С архитектурной точки зрения эти два фреймворка очень похожи.

Что же касается различий PhoneGap и Titanium?

1. PhoneGap не вставляет родной интерфейс устройства в javascript. Titanium с другой стороны имеет продвинутый UI API и может создавать все виды родных для устройства контролов. Таким образом приложения на Titanium выглядят более родными, чем приложения на PhoneGap.
2. PhoneGap поддерживает больше мобильных платформ, чем Titanium. PhoneGap работает на устройствах iPhone, Android, Symbian, Palm и Blackberry. Titanium позиционируется только для iPhone и Android

Что же касается Rhodes, то он чем-то похож на PhoneGap. Он поддерживает те же устройства, что и PhoneGap. Кроме того, может запускаться даже под win32 для тестовых целей. Вместе с Rhodes поставляется RhoSync — библиотека для хранения данных приложения на сервере посредством web-сервисов. Но это не значит, что web-сервисами не могут воспользоваться PhoneGap и Titanium.

Все перечисленные библиотеки бесплатны. Более подробно о них вы можете узнать на соответствующих сайтах.

Если вы хотите разрабатывать кроссплатформенные 3D-игры, то советую посмотреть в сторону unity3d.com

Данная статья является вольным переводом и исправлена в соответствии с реальным положением дел.

P.S. Отдельно про Titanium можно прочитать здесь: habrahabr.ru/blogs/javascript/95010
Перевод: Mauro Dalu
Андрей Лапин @trurl123
карма
87,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

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

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

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

  • +1
    На счет Titanium, так было в старых версиях. В новых версиях есть только Javascript API (немного похож на ExtJS), код потом переводится в «родной» для платформы (Objective C, Java) и компилируется. Так же есть возможность писать на других языках, но тогда они сначала переведутся в Javascript, а уж потом в родной
    • +1
      спасибо, исправил
    • 0
      Проверил сам работу последней версии titanium для andriod.
      Ничего он не компилирует — все javascript-файлы складывает в ресурсы приложения.
  • 0
    Вы фигню написали по части Tutanium, я бы на вашем месте еще раз глянул на то, что он генерит.
    • 0
      а щас?
      • +1
        Сейчас тоже самое. Дело не в том, что где-то есть неточность. Просто видно, что Вы не только не работали с Titanium, но и толком не разобрались, что он представляет из себя. В следствии чего, ваша статья по части Titanium «сплошь и рядом» пестрит неточностями и непониманием того, что он предоставляет (не говоря о том как он это делает). Я бы на вашем месте повременил бы со статьей.
    • 0
      глянул что он генерит — реально складывает ресурсы в javascript.
      это и мнение насчет вебконтрола подтверждается здесь: habrahabr.ru/blogs/javascript/95010/
  • 0
    Ещё есть MoSync.
    • 0
      Она не совсем бесплатная. Если пользуешься бесплатно, то нельзя «Publish closed source apps to all supported platforms „
  • +4
    Хабра-люди, не могли бы Вы поделится мнением о разработке с помощью Titanium, уж очень хочется попробовать. За ранее спасибо.
    • 0
      Был неудачный опыт использования Titanium. Возможно с тех пор что-то поменялось. Не нравится мне то, что это разработка некой фирмы, которая засчет этого пиарится. Мне куда больше импонирует такая «народная» вещь, как PhoneGap. Опенсорс рулит :)
    • 0
      Вот этот пост можете глянуть, за время, прошедшее с публикации ничего особо не изменилось habrahabr.ru/blogs/javascript/95010/
    • 0
      У нас в фирме на Titanium успешно разработали приложение для iPhone для сети ресторанов.
  • +3
    Вот там в начале написано что в статье сравнение. Где сравнение то? Полтора абзаца воды.
  • 0
    ну кросплатформеные фреймворки, мягко скажем далеки от совершенства. Мало того, что они глючат В статье не написано что при заявленой поддержке нескольких операционных систем, реально работать на них нельзя. Потому что нужно смотреть какие конкретные нативные (родные) функции поддерживает фрей ворк. В общем по факту они на 30% работают на iPhone и Androide.
    Далее, в статье так мутно описан принцип, что не понятно как конкретно работает фрей ворки, когда это можно обрисовать одной схемой.
    Резюме три:
    статья плохая. она не несет ни информативности. ни сравнения. не раскрывает принцип работы. и скрывает главный подводный камень — что не все нативные функции поддерживаются, а без них делать приложения не интересно.
    Указанные фрейморки далеки от совершенства. На них можно делать только элементарные приложения. серьезные разработки только на описанных выше фрейморках нельзя.
    трен кросс платформеных приложений интересен. он ролился где то в 2009 году. но не на этом инструментарии.
    • 0
      Статья хорошая для тех, кто решил начать интересоваться этой темой. Если вы для себя не получили ничего нового — я рад за вас.
      С другой стороны это перевод статьи, которая очень популярна в интернете и попадает в топ поиска, что означает интерес к ней.
      Серьезность приложений — это растяжимое понятие. И думаю, что коммерчески успешные приложения на данных фреймворках писать можно. Насчет главного подводного камня — про это написано. Читайте внимательно.
  • 0
    я написал конкретно чем она плоха. в ответ получил абстракцию. «нет она хорошая». это уже барьер для продолжения диалога. Рекомендую сначала попробовать использовать, а потом пускаться в рассуждения.

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