Подтвердить что ты не робот

Appcelerator vs Android SDK

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

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

(Когда я говорю "Andorid sdk", я имею в виду разработку с Eclipse с родным Android sdk, если это имеет смысл)

4b9b3361

Ответ 1

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

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

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

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

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

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

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

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

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

ОБНОВЛЕНИЕ Oct/2014

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

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


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

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

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

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

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

И это то, что мы закончили делать.

Это краткое описание того, как мы его обрабатываем:

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

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

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

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


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

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

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

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

В разделе Ray Wenderlich есть отличный учебник.


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

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

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

Тем не менее, я бы серьезно рассмотрел "React Native" , даже имея необходимость изучать другую структуру, из-за заявленной производительности и взглядов, ощущение приложения. Из Реагента Родной сайт:

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

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

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

Ответ 2

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

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

  • Вы хотите разрабатывать приложения quicly или

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

  • Вы видите, что Java настолько сложна (возможно: p), поэтому вы выбираете более простой (Javascript Titanium).

И вот почему вы должны использовать собственный Android вместо Titanium:

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

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

Ответ 3

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

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

Ответ 4

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

Ответ 5

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

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

Ответ 6

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

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

Ответ 7

Ну, в новой версии appcelerator (APPCELERATORSTUDIO 4.0) вы можете иметь проекты сплавов и что-то вроде файлов css для вашего UI (tss), поэтому на самом деле они действительно настраиваются.

ПОЗДРАВЛЕНИЯ

Ответ 8

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