0

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

Andrey Lapin
21 октября 2010 года

Сравнение 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. В ЦВТ создано приложение для iPhone на основе Titanium под заказ.

P.P.S. Голосуйте за статью на хабре http://habrahabr.ru/blogs/mobiledev/106629/

Метки:

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