Стоит ли использовать Titanium appcelerator для разработки приложений для камер на ipad, iphone и android?

Я хочу создать мобильное / планшетное приложение, основной функцией которого будет фотографировать с помощью камеры, просматривать фотографии и получать уведомления. Также я хочу ориентироваться на платформы iphone, ipad и android.

Титановый appcelerator пробудил во мне интерес благодаря своей кроссплатформенной привлекательности. Однако я обеспокоен, потому что я прочитал смешанные обзоры на SO и других сайтах. Вещи, которые волнуют меня:

  • Поддержка Subpar Android
  • Не полностью поддерживается камера (например, ios 4.1 HDR)
  • Поддержка камеры глючит

Для меня кошмарным сценарием было бы потратить время на титан, чтобы потом выяснить, что это главный PITA, бросить его и стать "родным".

Пожалуйста, поделитесь своими мыслями и опытом.

8 ответов

Я выбрал Titanium для серьезного применения, хотя тот, который не использует камеру. Я думаю, что есть множество вещей, которые могут сыграть в ваше решение...

Если ваше приложение намеревается делать "причудливые" вещи с помощью камеры или какой-то очень сложной обработки изображений и т. Д., Вам, скорее всего, лучше стать нативным. Если, с другой стороны, вы просто хотите, чтобы он делал снимки, и тогда они будут использоваться как есть, или отправляться на сервер, или что-то еще, тогда Titanium должен работать просто отлично. Titanium имеет некоторые особенности обработки и манипулирования изображениями, но, как уже говорили другие, если вы действительно хотите воспользоваться преимуществами аппаратного обеспечения устройства, вы, вероятно, захотите полностью использовать его.

Следует также отметить, и Appcelerator также говорит об этом, что с приложением Titanium вы не просто напишите одно приложение, которое будет работать как есть на всех устройствах. Вам нужно будет настроить пользовательский интерфейс для каждого устройства (или класса устройства, например iPhone, Android), поскольку они имеют разные пользовательские интерфейсы, разные стандартные потоки пользовательского интерфейса и так далее.

Но одним из потенциальных преимуществ для Titanium является то, что вы не знаете Objective-C и / или Java и знаете JavaScript (и в моем случае я на самом деле использую Coffeescript:). Или, если вам нравится работать над написанием JS, чем ObjC/Java. Это было одной из главных причин для меня. В прошлом я занимался разработкой ObjC, и даже не возражаю против этого, но этот проект, который я делаю, идет по очень агрессивному графику, и мне будет гораздо эффективнее использовать Titanium. Мне удалось очень быстро настроить и создать приложение, и я не трачу время на то, чтобы лучше познакомиться с языком программирования, который я использую, битами управления памятью (вы не можете полностью игнорировать это с помощью Titanium, но по сути они делают это для вас). Основываясь на людях, с которыми я говорил, и на том, сколько времени они тратят на управление памятью, проблемы с Interface Builder (это, в основном, простота забытия при настройке соединений или подключении различных вещей, IB на самом деле довольно хороший инструмент), и и так, я очень рад, что использую Titanium.

Хотя я ожидаю сделать версию для Android в какой-то момент, это не является приоритетом. Но я рад знать, что большая часть кода моего приложения будет многократно использоваться, тестироваться и т. Д., И что я в основном остановлюсь только на создании / обновлении пользовательского интерфейса для Android, а не на переписывании сетевого кода и управлении данными, и так далее. Поддержка Android будет намного лучше (предположительно) в Titanium 1.5, но вы можете подождать, пока этот выпуск оценит Android, если это является приоритетом.

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

Удачи и наслаждайтесь созданием мобильного приложения, это довольно весело!

Мы использовали Titanium в одном из наших проектов около 2 месяцев, и, честно говоря, наш опыт работы с Titanium слишком плох.

По моему мнению, ниже приведены некоторые основные недостатки титана:

1) Во-первых, вы вообще не получите поддержку отладки (мы можем понять, как отладка требуется в любом проекте и любой технологии).

2) Titanium НЕ полностью поддерживает все функции Android/iPhone; за пределами какого-то уровня это не даст вам поддержки.

3) По сравнению с Android/iPhone SDK, разработчики получат гораздо меньше помощи из Интернета и библиотеки API (Titanium предоставляет файл помощи библиотеки API).

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

Если функциональность вашего приложения в некоторой степени похожа на отображение данных из Интернета (как и во многих новостях, приложениях мультимедийного типа), тогда Titanium является подходящим вариантом; в противном случае нет.

Поддержка Android не так хороша, как для iPhone. Если бы вы просто сказали iPhone, я бы сказал, что вам повезет с использованием Titanium. Тем не менее, я думаю, что попытка создать одну кодовую базу в Appcelerator, а также использовать ее в вашей среде Android, может оказаться не лучшим вариантом.

Тем не менее, IMO делать код Android / Java намного проще, чем работать с Objective C / iPhone.

Так что в худшем случае я хотел бы рассмотреть возможность использования Titanium для вашей версии iPhone и сделать Android на Java.

Вы можете сделать это, выполнив оба в Titanium, но в худшем случае используйте Java-версию.

Я просто очень ненавижу цель C и "нативную" среду разработки Apple.

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

В частности, в iOS 4.0 добавлено множество новых возможностей, касающихся камеры, в том числе обработка видео в реальном времени с помощью AVFoundation, и мне трудно поверить, что сторонняя инфраструктура будет идти в ногу с развитием этих платформ. Если честно, в настоящее время довольно легко написать приложение, которое взаимодействует с камерой на iPhone (посчитайте их количество в App Store как показатель этого). На днях я написал приложение для обработки кадров в реальном времени примерно через шесть часов.

Я не могу говорить об Android, но я думаю, что работать с камерами довольно тривиально, используя там и собственные API.

Вы также обнаружите, что тестирование производительности и отладку вашего приложения будет намного проще с использованием встроенных инструментов, чем от сторонних. В частности, Apple Instruments - чрезвычайно мощное, но простое в использовании приложение для отслеживания проблем процессора и памяти в вашем приложении.

Есть также аспект сообщества. Вы найдете гораздо больше людей, работающих на Android и Cocoa Touch, чем на Titanium (просто посмотрите на количество вопросов в различных тегах переполнения стека, чтобы увидеть это). Это означает, что вы сможете использовать гораздо больше учебников и гораздо больше примеров кода.

Время, которое вы потратите на настройку среды сборки iPhone и Android и отправку в оба магазина, будет одинаковым, независимо от того, используете ли вы исходную среду или Titanium.

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

Я разработал приложение для камеры на основе Appcelerator и был очень доволен этим. Я думаю, что некоторые из негативных отзывов проистекают из того факта, что его немного сложно настроить (в большей степени из-за сумасшедшего процесса регистрации разработчиков в Apple).

Как только я начал, было легко делать такие вещи, как наложения на верхней части экрана камеры. Я действительно ожидал трудностей с этой частью, но она работала хорошо.

Я говорил с командой Appcelerator в прошлом, и они - отличная группа для работы. Я видел, как они реагируют на другие проблемы пользователей, и я уверен, что если я столкнусь с реальной ошибкой, они быстро ее устранят.

Я рассмотрел отрицательные отзывы о Titanium Appcelerator, но полностью согласен с Аароном Сондерсом в том, что если вы используете PhongeGap Development, поддерживается HTML5, которая позволяет легко создавать приложения для iPhone, iPad и мобильных устройств Android.

Немного поздно, но мои два цента...

Я искренне верю, что вы можете очень быстро создать прототип приложения с помощью Titanium Appcelerator и сосредоточиться на критических наборах функций, чтобы определить, подходит ли вам этот инструмент.

У всех разработчиков есть свои мнения и опыт (ы), которые влияют на их комментарии; у разработчиков разные способы обучения и разные уровни производительности... В конце концов, все сводится к тому, насколько вы наиболее продуктивны с помощью доступных вам инструментов.

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

Существует Titanium Appcelerator, а также PhoneGap, где PhoneGap может помочь вам в том, что есть возможность расширять / улучшать базовый фреймворк с помощью написания плагинов ( я написал один для iphone), и в моем блоге также есть Android-приложение.. Это может заполнить недостающие пробелы для вас, когда вы перемещаетесь по платформам.

Кроме того, поскольку пользовательский интерфейс в решении проблем с телефонной связью основан на HTML5 Webkit, он может дать вам непротиворечивый вид на ваших устройствах, если хотите. Фреймворки, такие как jQTouch и JQuery Mobile, используются для UX с приложением PhoneGap

Кто-нибудь выделил стоимость титана.

Я связался с ними сегодня, и если вы работаете в группе, состоящей не из одного человека, вы должны зарегистрироваться в партнерской программе, иначе вы несете ответственность за нарушение условий контракта, если вы выпустите приложение.

Партнерская программа стоит 5000 фунтов стерлингов, что очень много для нас, как для начинающей компании, когда это наше первое заявление, сейчас мы ищем другой вариант.

Другие вопросы по тегам