Appcelerator против Android SDK - PullRequest
       10

Appcelerator против Android SDK

24 голосов
/ 19 февраля 2011

Я смотрел на appcelerator, это выглядит довольно хорошо!Без сомнения, одним из преимуществ appcelerator является его поддержка мультиплатформенности.Я заинтересован в создании приложения для Android и, возможно, приложения для iPhone позже.Так что сейчас не важно поддерживать несколько платформ.

Если вы игнорируете поддержку нескольких платформ и просто сосредоточены на разработке для Android.Appcelerator все еще выгоден?У него нет каких-либо особенностей "Android SDK"?

(Когда я говорю «Андорид SDK», я имею в виду разработку с Eclipse с нативным Android SDK, если это имеет смысл)

Ответы [ 8 ]

29 голосов
/ 21 февраля 2011

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

Мы решили не идти по этому пути, потому что он не поддерживает все собственные функции каждого устройства.

Например, мы рано решили, что нашему пользовательскому интерфейсу в Android потребуется виджет.В Appcelerator это не поддерживается, так как это характерно для Android.[Это было несколько месяцев назад - вы можете проверить еще раз.]

Компромисс в пользовательском интерфейсе был для нас слишком большим.Мы решили использовать C / C ++ для логики приложения и использовать Android SDK для пользовательского интерфейса.

Наши приложения теперь состоят из двух частей: C / C ++, насколько это возможно, для «мозгов» и нативных (Android / Cocoa Touch) для пользовательского интерфейса, чтобы воспользоваться преимуществами пользовательского интерфейса.

Работает, конечно, для платформ, которые могут интегрировать C / C ++.

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

[РЕДАКТИРОВАТЬ] Время от времени я вижу положительный ответ на этот вопрос.Я хотел бы рассказать о том, что мы узнали за последние два года:

  • Использование C / C ++ для общих частей нашего приложения окупилось.Это требует немного более сложного процесса сборки, но экономия является гигантской, если часть кода, которой делятся, сложна (как в нашем случае).
  • Для части пользовательского интерфейса мы начинаем искать гибридные приложения(некоторые элементы пользовательского интерфейса в HTML).По-прежнему ведутся споры об интерфейсах HTML (Facebook и LinkedIn - это две версии, которые переходят на собственный код для пользовательского интерфейса), а также некоторые сообщения о том, что при тщательном выборе это работает.Об этом очень хорошо говорят из Flipoard ;со слайдами здесь .

ОБНОВЛЕНИЕ Октябрь / 2014

В марте / 2014 Smashing Magazine опубликовал отличную статью, сравнивающую нативный iOS, родной Android, PhongeGap(Кордова) и Applelerator Titanium.Они показывают разработку простого приложения в каждой среде.

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


ОБНОВЛЕНИЕ Май / 2015

Тем не менее, время от времени получаю отклик на этот вопрос, поэтому я хотел бы поделиться тем, что у нас естьсделано с тех пор, как я написал первую часть ответа.

Сейчас мы работаем над проектом, в котором также есть веб-клиент.Теперь у нас есть iOS-клиент, Android-клиент и веб-клиент.

JavaScript является естественным выбором для веб-клиента.

Поскольку мы хотим разделить как можно больше кода (на уровне бизнес-логики) между этими клиентами, это означает, что нам нужно найти способ запуска кода JavaScript в iOS и Android.

Иэто то, что мы в итоге сделали.

Это краткое изложение того, как мы с этим справляемся:

  • Для всех клиентов: все структуры данных определены с помощью protobuf от Google ,Это позволяет автоматически генерировать код сериализации / десериализации для iOS и Android.
  • iOS: запустить код JavaScript с помощью JavaScriptCore (хороший обзор здесь ).
  • Android: запуск кода JavaScript с помощью движка Google V8.

Мост между JavaScript и слоем iOS / Android может быть узким местом, особенно сериализация объектов.Нам пришлось оптимизировать несколько вещей и выучить несколько уроков, чтобы избежать неприятностей.

В целом, опыт был положительным.Мы сэкономили значительное количество времени, передав код всем клиентам.

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


ОБНОВЛЕНИЕ Август / 2015

И мир продолжает вращаться ...

Я бы также внимательно посмотрел на React Native если бы мне нужно было запустить новое мобильное приложение сейчас.

Оно основано на JavaScript, упрощает веб-разработку и разработку мобильных приложений.

На сайте Рэя Вендерлиха есть отличное учебное пособие .


ОБНОВЛЕНИЕ Февраль 2016 г.

Мой список для кроссплатформенной разработки уменьшен до двух:

Я уделяю больше внимания ionic , потому что наше веб-приложение использует AngularJS, а также ionic (Cordova+ AngularJS). React Native заставит команду изучить другую среду (разумеется, если ваше веб-приложение использует React), аргумент будет противоположным.

Тем не менее, я серьезно рассмотрю React Native, даже из-за заявленной производительности и внешнего вида приложения, даже необходимости изучать другую среду.С сайта React Native:

С React Native вы можете использовать стандартные компоненты платформы, такие как UITabBar для iOS и Drawer на Android

Если вы начинаете сейчас, яРекомендуем вам как минимум завершить их уроки, чтобы вы лучше поняли каждую структуру.Каждый урок может быть выполнен за один-два часа:

Для более простого подхода: Smashing Magazine только что опубликовал (в то время, когда я писал это обновление) хорошая статья , показывающая, как использовать нативные элементы навигации, чтобы приложение казалось (ну ...) нативным,при использовании веб-представлений для визуализации содержимого.В статье подробно рассказывается о том, как сделать HTML / CSS пригодным для использования на мобильных устройствах (это не просто подталкивает HTML / CSS, который у вас уже есть).

7 голосов
/ 21 февраля 2011

Если вы сосредоточены только на разработке приложений для платформы Android, я рекомендую вам использовать собственный Android (как вы сказали, Eclipse + Android SDK) вместо Titanium.

Причина: титан подходит, если

  1. Вы хотите быстро разрабатывать приложения или

  2. Ваши приложения просты, или

  3. Вы видите, что Java настолько сложна (может быть, p), поэтому вы выбираете более легкую (Javascript of Titanium).

А вот причины, по которым вам следует использовать родной Android вместо Titanium:

  1. Вы хотите разработать сложное приложение или

  2. Вы хотите настроить внешний вид приложения. Это очень важно. Воображение вы делаете приложение для клиента, и им нужно настроить свое приложение для более привлекательной. Выбор Titanium означает, что вы должны использовать их контроль, который не способен настраивать. Было бы лучше, если бы вы использовали собственный Android, чтобы вы могли настроить все, что вы хотите.

4 голосов
/ 19 февраля 2011

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

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

1 голос
/ 20 февраля 2011

Я думаю, вы хорошо начали использовать Appcelerator, так как он использует JavaScript и т. Д. Легко учиться, но хорошие примеры.Это также позволит вам использовать тот же код и обращаться к приложениям iPhone, iPad.Научиться использовать только Android SDK сложнее.Даже тогда вам все еще нужно разрабатывать приложения для iPhone и т. Д.Если вы пришли из веб-фона, это имеет смысл.Есть хорошие видео для быстрого обучения.Удачи

0 голосов
/ 03 февраля 2017

Appcelerator имеет большую поддержку, и он действительно прост в использовании.Теперь он поддерживает 100% вызовов API.У них тоже очень хорошая документация.

0 голосов
/ 28 мая 2015

Что ж, в новой версии appcelerator (APPCELERATORSTUDIO 4.0) у вас могут быть проекты сплавов и что-то вроде CSS-файлов для вашего пользовательского интерфейса (tss), так что фактически они действительно настраиваемы.*

0 голосов
/ 10 апреля 2012

Отсутствие поддержки Bluetooth - огромный недостаток для Appcelerator, и никто не дает подсказки о дорожной карте.

edit: appcelerator теперь имеет поддержку BT в Tizen 3.1

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

Похоже, мой опыт работы с Appcelerator скорее напоминает магазин iOS.Их набор инструментов для Android, IMHO, совершенно отсутствует.ADT поддерживает создание и отладку визуального пользовательского интерфейса на устройстве, чего нет в Titanium Studio.Об этом уже несколько месяцев сообщается об ошибке, и она по-прежнему откладывается.Если вы сфокусированы на Android, используйте Google ADT или MOTODEV Studio для Android.Эти IDE довольно хороши и используются профессионалами.

Приведенный выше ответ представляет собой отличный способ разработки мобильных приложений.НЕ ПРЕКРАЩАЙТЕ ВЫСОКОКАЧЕСТВЕННЫЙ ОПЫТ ПОЛЬЗОВАТЕЛЯ.

...