Недостаток / преимущество использования Tabris против PhoneGap или Titanium или Corona
Я читал эту статью: http://www.infoq.com/articles/tabris
и думать о преимуществах использования табри в отличие
на основанные на HTML инструменты, такие как Phonegap http://phonegap.com/.
Есть также сравнение для Tabris, Corona, Titanium и PhoneGap? как упомянуто здесь:
Каковы преимущества и недостатки использования Phonegap и Titanium?
или здесь
Corona vs Titanium для разработки под iOS и Android
Насколько я знаю, я бы использовал Tabris, если бы у меня было приложение, которое использует много трафика (если между клиентом и сервером много общения).
PhoneGap Я бы использовал, если бы быстрее разрабатывать мобильное приложение и достаточно ограниченных возможностей, предоставляемых через Html/JavaScript.
Как вы думаете?
3 ответа
Tabris будет работать лучше во всех областях по сравнению с cordova/phonegap или любым инструментом, который будет полагаться на веб-просмотр. Не только использует родные компоненты, будет иметь лучшее управление памятью и время автономной работы. Я довольно новичок в Табри, но я переписываю одно приложение с ним, и преимущества огромны.
У меня опыт работы с PhoneGap, но не с Tabris или Corona.
PhoneGap 3.x на самом деле имеет множество плагинов, позволяющих разработчикам получить доступ к API нативного устройства. Я посмотрел на сайт Tabris, и похоже, что он разрабатывает сервер с кроссплатформенным интерфейсом. Это означает, что приложение, разработанное с использованием Tabris, не сможет сделать многое из того, что может сделать PhoneGap. Смотрите список плагинов PhoneGap здесь.
Если все, что вам нужно, это пользовательский интерфейс с кодом на стороне сервера, то Табрис звучит великолепно. Для всего остального я бы пошел с PhoneGap. (Опять же, не испытывал с короной вообще)
ОБНОВЛЕНИЕ: Я посмотрел на Corona, и бесплатная версия, вероятно, эквивалентна PhoneGap, за исключением написанного на Lua, и платные версии кажутся довольно мощными, чем любые другие.
Я пробовал оба, PhoneGap и Tabris. Для меня основной недостаток Tabris по сравнению с PhoneGap заключается в том, что вы не можете напрямую контролировать клиентскую сторону, например, для проверки взаимодействия с пользователем перед отправкой данных на сервер.
С PhoneGap вы получаете большую свободу, используя JavaScipt на стороне клиента. С Tabris вы связаны заданным набором конкретных слушателей для любого элемента RWT. Но нужно сказать, что есть не только слушатели UI-Elements, но также, например, GeolocationListener, ProgressListener for Browser и многие другие слушатели, которым не требуется непосредственное взаимодействие с пользователем, например нажатие кнопки.
Из-за моего опыта работы с PhoneGap у меня действительно была идея взломать приложение Tabris. Я хотел интегрировать карту, нарисовать на ней GPS-треки и позволить пользователю взаимодействовать без необходимости обращаться к серверу для каждого взаимодействия. Поэтому я создал страницу, которая показывает только браузер (без адреса и заголовка). Пользователь не распознает, что он просто взаимодействует с браузером внутри приложения Tabris. Я добавил GeolocationListener, который определяет текущую позицию, а также отслеживает, поэтому, когда пользователь меняет свою позицию, сервер получает уведомление. Фактически, вы можете реализовать JavaScript API и вызывать JS-функции со стороны сервера (!!). Другой способ, которым вы вызываете Java-метод из клиентского JavaScript, как в "обычном" SWT, не поддерживается Tabris. Метод execute() выполняет JavaScript на стороне клиента.
Вот фрагмент кода, демонстрирующий мою реализацию страницы Tabris. "BikeNavigatorMap" является экземпляром JavaScript-объекта API: http://pastebin.com/Lnb4EspC
Итак, я создал полугибридное приложение с Tabris.:)