Недостатки использования Appcelerator Titanium (или его эквивалента)? - PullRequest
5 голосов
/ 11 августа 2011

У нашей компании огромный толчок для кроссплатформенной (iOS и Android) разработки.Предполагается, что Appcelerator Titanium (и, по-видимому, единственное, что рассматривается), обеспечивает многоплатформенную разработку без дополнительного времени разработки.

Каждый может подумать о причинах использования Titanium.По причинам против использования Titanium I думаю производительность получающегося "родного" приложения из Titanium может быть не такой хорошей, как у приложения, написанного на Objective-C для iOS.Насколько существенной будет разница?Есть ли другие причины не использовать Titanium (или его эквивалент)?

Примечание: Я могу написать Titanium, но причины могут быть не только специфичными для Titanium.Все причины в поддержку кодирования на языке платформы (например, Objective-C, Java) имеют право.

Ответы [ 4 ]

17 голосов
/ 13 августа 2011

Добро:

  • Может создавать приложения для iPhone, используя очень простой Javascript.

Плохое:

  • Apple отклоняет некоторые приложения Titanium из-за частных вызовов API, но Appcelerator не отвечает на запросы о помощи и не обновляет свой SDK. http://developer.appcelerator.com/question/123785/app-has-bee-rejected-by-non-public-api

  • «Родные виджеты» используются, но только номинально: есть слой логика и абстракция между ними и вашим кодом; и этот слой меняет их поведение и снижает их скорость. Разница в том, видно в приложениях Витрина.

  • Документы API вечно устарели. (без процесса обновления).

  • Создана вики, которая устарела. Только редактирование
    разрешено для сотрудников.

  • В проектах Github не включена вики.

  • Appcelerator не true с открытым исходным кодом: они не принимают вклады сообщества: У проекта titanium_mobile на github есть длинный список открытого доступа запросы.

  • Программное обеспечение справочного форума имеет много технических и конструктивных недостатков.

  • Уведомления по электронной почте от справочного форума часто не работают.

  • Персонал редко отвечает на вопросы на форуме вопросов и ответов. Не было замечено
    в месяцах.

  • Стоп-стопы появляются постоянно во «всех маленьких промежутках»:

  • Правильное отображение изображений на iPhone 4

  • Правильная загрузка изображений в списке прокрутки

  • Хотя платформа одновременно поддерживает iOS и Android,
    библиотека / рамки нет. Много тестов во время выполнения (если / тогда) необходим в приложениях, которые будут работать на Android и iPhone.

  • Постоянно выпускаются новые продукты, но не исправляются существующие продукты
    и проблемы с сайтом. «Новые» продукты объявлены в бета-версии и освободить фазы кандидатов.

  • Приложение "Чат с продажами" не обслуживается.

  • Appcelerator не снимает устаревшие обучающие видео.

  • Распространение правды и наживка-и-переключатель с ценами: 30% скидка
    распространяется только на ежегодное членство, а не на месяц. Блог
    посты и маркетинговые материалы не подтверждают это. Только при оформлении заказа это показано.

  • [увидено 13.08.2011] Еще один способ, с помощью которого форумы вопросов и ответов нарушаются: порядок
    результаты поиска отбрасываются: каждая страница результатов упорядочивает свои хиты от самого старого до самого последнего, внизу страницы. Перейти к следующему страница результатов (то есть 51-100), и снова, годовалые хиты
    во-первых, с 6-недельного возраста внизу.

Мои оставшиеся без ответа вопросы:

[Семь оставшихся без ответа вопросов и ответов не показаны: я не хочу, чтобы сотрудники Appcelerator лично идентифицировали меня и получить лечение на уровне ниже нормы.]

Результаты:

Я трачу много часов, пытаясь обнаружить API в отсутствие документации, и взламывая, чтобы найти обходные пути. Это время потрачено впустую, и было бы лучше потратить его на простое обучение созданию приложений в XCode & Objective-C.

5 голосов
/ 11 августа 2011

Насколько существенной будет разница?

AFAIK, Titanium сгенерирует Objective C, поэтому, если их вещи не будут ужасно неэффективными, я не ожидаю, что скорость будет главной проблемой.

Есть ли другие причины не использовать титан (или эквивалент)?

Ну, это зависит от того, как вы определяете "эквивалент".

Лично, когда я вхожу в кроссплатформенные приложения, я ожидаю, что буду использовать PhoneGap. Это по одной причине: стандарты.

С PhoneGap вы пишете HTML, CSS и JavaScript, как если бы вы писали автономное приложение HTML5. Все, что делает PhoneGap, это превращает его в устанавливаемый пакет (например, APK для Android) и дает вам возможность использовать собственные API-интерфейсы для доступа к конкретным устройствам. Они рассчитывают просто заполнить «пробел» между тем, что поддерживает HTML5 на мобильных устройствах, и тем, что поддерживают нативные приложения на мобильных устройствах. Черт, это даже на их имя. : -)

В результате, то, что вы пишете, - это та же технология, которую вы бы использовали для веб-приложения, и даже может появиться возможность поделиться некоторыми кодами на стороне клиента. Вы можете использовать все что угодно из мобильных фреймворков (например, Sencha Touch, jQuery Mobile). И, если когда-нибудь магазины приложений будут поддерживать автономные приложения HTML5, вы можете даже вообще отказаться от PhoneGap, если не будете сильно зависеть от функций интеграции устройств.

Titanium позволяет писать на JavaScript, но соответствие стандартам в основном на этом заканчивается. Вы используете собственные API для всего, включая весь пользовательский интерфейс. Лично я предпочел бы поддержать более популярную лошадь - в данном случае HTML5, а не PhoneGap. Если по какой-либо другой причине будет проще нанять опытных разработчиков на HTML5, чем опытных разработчиков на Titanium.

Ни PhoneGap, ни Titanium, ни множество других опций (например, Rhodes, Flash / AIR) не предоставляют вам всех возможностей устройства. Эти движки будут различаться по своей расширяемости - я знаю, что у PhoneGap есть модель плагинов, что Flash / AIR - это всего лишь то, что вы получаете от Adobe, и я не уверен ни в каких других.

У Titanium есть одно преимущество: вы получаете почти нативный интерфейс вместо интерфейса на основе HTML. (Я говорю «почти нативно», потому что некоторые из их виджетов не обязательно имеют собственные эквиваленты на всех платформах, поэтому они при необходимости обновляют свои собственные). Для некоторых приложений и некоторых аудиторий это само по себе может склонить вещи в пользу Titanium.

4 голосов
/ 12 августа 2011

Титаниум / iOS конкретный ответ, мой 2с.

Родная iOS против Titanium

ПРОФИ

  • Это почти так же быстро, как родной для большинства вещей.
  • Время, необходимое для написания рабочего прототипа, намного короче.
  • Если вам нужно интегрировать унаследованный код или библиотеки javascript, он будет работать при условии, что он не использует dom.
  • Ваш код javascript должен быть хорошо разнесен и включать точки с запятой, где это необходимо, иначе компилятор будет жаловаться и в конечном итоге прервать сборку.
  • Вы можете использовать Coffeescript или любой другой язык, который компилируется в js
  • Автоматическое управление памятью на высшем уровне, получение одних и тех же результатов в objc всегда отнимает много времени и иногда требует интенсивной отладки.
  • Вы можете написать свои собственные модули в собственном коде, чтобы расширить возможности Titanium.
  • Это открытый исходный код.
  • Они недавно изменили свою поддержку, убрав ограничение в 5 приложений, гораздо более доступное.
  • Вы можете изменить код js вида во время работы приложения в симуляторе, вы увидите результаты, когда перезагрузите редактируемый вид. Это благо :) (исключение: я не знаю, как перезагрузить код в app.js)

CONS

  • Отладка - это боль. Еще не пробовали Titanium Studio, возможно, это большое улучшение.
  • Добавление слишком большого количества представлений приводит к снижению производительности быстрее, чем использование собственного кода.
  • Приложение Titanium Developer для Mac имеет много глюков интерфейса, и вы можете запускать его довольно часто.
  • В некоторых версиях отладочные операторы print to console не работают.
  • Вы будете часто сталкиваться с утечкой кроссплатформенной абстракции.
  • Поддержка на форумах немного слабовата, многие проблемы, с которыми вы столкнетесь, невелики, но все же раздражают.
  • Нужно обратить внимание на правильность JSON, включенный парсер имеет тенденцию быть разборчивым. Использование eval всегда возможно.
  • Время компиляции и загрузки в симуляторе не так быстро, титановый объект довольно большой.
0 голосов
/ 13 марта 2013

По сравнению с Xcode, Visual Studio и даже MonoDevelop, Titanium Studio работает медленно (очень медленно), глючит (перезагружается несколько раз каждый день, даже переустанавливается несколько раз) и, конечно, вам приходится иметь дело с JavaScript ...Мы обнаружили, что боль развивается в титане был слишком велик, особенно если у вас есть грамотные картинки и Android УБС вокруг так -

1002 * Мы смотрели долго и трудно в самый лучший вариант для кросс-платформенной разработчика и в конечном итоге с помощью Mono- Touch & Droid.Это было здорово, мы на самом деле разделяем 80% кода между iPhone и Android, и мы только начинаем порт для WP, который идет хорошо (опять же, разделяя 80% кода).Конечно, это не чудодейственное исправление - вам все равно нужно знать, как разрабатывать для каждой платформы.Я даже полюбил C # почти так же сильно, как Obj-C: -)

Очевидно, что некоторые не согласятся.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...