Как Sencha Touch работает на Android на практике? [закрыто]

17

Я только собираюсь запустить проект с использованием Sencha Touch и только что провел небольшое тестирование на своем устройстве HTC desire. Все учебные видео на Vimeo, кажется, используют эмулятор iPhone, работающий на Mac. Я не уверен, насколько быстро этот эмулятор сравнивается с реальным устройством iPhone или даже с реальным устройством Android, но из того, что я испытал, кажется, что мое желание HTC не так хорошо работает, как у этого эмулятора.

Все анимации (скольжение, затухание и т. Д.) Кажутся немного запаздывающими. Вы можете легко заметить, что FPS намного меньше, чем на видео Vimeo.

HTC desire - это относительно новый и современный телефон Android 2.2, работающий на достойном оборудовании, поэтому мне интересно, готов ли Sencha Touch к платформе Android.

Кто-нибудь с практическим опытом работы с Android и Sencha Touch?


источник

Ответы:

19

Я работаю над несколькими приложениями Sencha Touch для Android, используя PhoneGap, и результаты разочаровывают. Пользовательский интерфейс на устройствах iOS значительно превосходит Android.

На устройствах iOS все гладко (карусели, слайдеры все), но на Android все немного запаздывает и не отвечает.

Обновление Я провел немного больше исследований, и кажется, что устройства iOS используют аппаратное ускорение графического процессора для выполнения переходов CSS. На устройствах Android все это выполняется процессором в дополнение ко всему тому, что он уже делает, таким образом, мы имеем медленный внешний вид интерфейса. Вздох ..... Я думаю, гораздо сложнее реализовать аппаратное ускорение, когда аппаратное обеспечение сильно меняется.

Интересно, что я также читал, что даже нативные приложения Android (даже встроенные экраны меню) не используют аппаратное ускорение. Только приложения, использующие OpenGL, фактически будут использовать графический процессор.

Дин Уайлд
источник
Я чувствовал то же самое при тестировании Sencha Touch на моем HTC Desire Z, но также чувствовал, что на iPhone ощущается больше, чем на Android. Другое дело, что - хотя процент людей, к которым это относится, может быть низким - Sencha Touch больше не «работает» для меня на Android, поскольку я использую Firefox Mobile, в то время как Sencha Touch только для Webkit.
zenzelezz
2
Прошло 2 года, а прикосновение Сенчи по-прежнему разочаровывает.
Кугель
это все еще отстой touch прикосновение сенча - бесполезный кусок дерьма! Они говорят, что делают так много вещей, но даже не делают одно правильно: просто спросите их, поддерживают ли они функцию доступности для Android или даже iOS, и наблюдайте, как они извиваются!
Нав
3

От sencha.com :

Sencha Touch, первая мобильная JavaScript-инфраструктура HTML5, которая позволяет разрабатывать мобильные веб-приложения, которые выглядят и чувствуют себя нативно на iPhone и Android

Я думаю, что причина в том, что это так медленно, в том, что приложение написано с использованием HTML5 / javascript. Что, когда вы впервые думаете об этом, довольно здорово, так как облегчает перемещение по платформам. Недостатком является то, что они «выглядят и чувствуют» как родные приложения, но на самом деле это не так. Таким образом, вместо того, чтобы быстро выполнять собственный код на вашем устройстве, у вас есть то, что, скорее всего, является оберткой для браузера, в котором весь код - просто разметка / js, что медленнее. Подумайте об использовании приложения cnn по сравнению с переходом на cnn.com в веб-браузере iphone, по сути, это та же разница. Это, вероятно, то, что вы видите, так как быстрый Mac и эмулятор могут толкать намного сильнее, чем устройство (если эмулятор не будет замедлен до такой же медленной скорости, как нативное устройство, что может быть ... кто-то двойной Проверь меня).

Райан Хейс
источник
1

Я выполнил небольшой тест Sencha, JQuery mobile и dojox.mobile на эмуляторе Android и телефоне, используя пробел в реальной жизни приложения. Суть в том, что додзё легко превосходит как Sencha, так и JQuery, которые в настоящее время настолько медлительны, что совершенно бесполезны даже на мощном оборудовании.

Так что сейчас я лично пойду с додзё или родным.

Попробуйте сами, взяв любую из «витрин» из различных фреймворков и chrome2phone их на свое собственное устройство.

Psimon
источник
1
Вы первый, кто сказал, что Dojo Mobile превосходит любые другие фреймворки. Среди всех разработчиков мобильных приложений, которых я знаю, Dojo - ошибочная версия мобильного фреймворка ...
Штеффен Мюллер,
Если вы говорите только о производительности, эмуляторы никогда не должны использоваться. Они сильно отличаются от работающих на оборудовании.
Муфаса
1

Я знаю, что это более старый вопрос, однако я могу подтвердить, что у нас также есть проблемы с производительностью при запуске Sencha Touch 2.0 на Android. Мы создали довольно простой прототип с очень простыми макетами карт и без каких-либо пользовательских изображений или CSS, и все же заметили большую задержку на каждом тестируемом устройстве Android. Сначала мы думали, что нарушаем некоторые передовые практики Sencha, однако после просмотра кода и пересмотра каждой области, в которой, по нашему мнению, могут возникнуть проблемы, мы все равно не смогли получить оперативность и плавность, близкие к тем, на которые мы надеялись.

Более того, кажется, что в общем случае любой не родной метод (основанный на JS / HTML / CSS) для разработки мобильного приложения всегда будет иметь по крайней мере некоторые небольшие проблемы с производительностью. Сейчас мы рассматриваем возможность использования Titanium, поскольку он предлагает решение на базе единого кода с производительностью, намного более близкой к нативной (так как технически она является нативной).

Паз
источник
1
Из любопытства пробовали ли вы на устройствах Android 4.0? Так как у них доступно ускорение GPU, оно может работать лучше. Как включить: developer.android.com/guide/topics/graphics/hardware-accel.html
Дрейк Кларрис
1
Спасибо за чаевые. Мы не тестировали ни на одном устройстве 4.0. Судя по ответу Дина Уайлда, я решил, что проблемы с ускорением графического процессора, вероятно, были главной причиной. Теперь проблема в том, что даже если бы мы могли повысить производительность на устройствах 4.0, они составляют такую ​​небольшую часть (~ 10%) рынка Android, что мы все равно, вероятно, в конечном итоге выберем решение, отличное от Sencha.
Пас
независимо от того, что вы делаете с sencha, он всегда будет медленным ... причина в том, что их глубоко вложенная структура dom, которая не подходит ни для одного браузера, оставляет в стороне мобильные браузеры.
Нав
0

Мы только что запустили сенсорное приложение sencha, и в Android есть ряд существенных проблем с производительностью по сравнению с iOS. Соблюдайте осторожность при попытке реализовать интерфейсы с интенсивным дизайном.

Что-то, что я хотел бы знать 3 месяца назад: большие предварительные проекты плохи в мобильном. Вам действительно нужен итеративный подход между командой разработчиков / разработчиков. Переходы CSS3 на Android сложны: избегайте скругленных углов, RGBA, градиентов, теней текста. Это сделает ваше приложение судорогой.

Держите DOM как можно меньше; уничтожить панели, поскольку они больше не используются.

Мы видели некоторые странные поведения draw () на Android, но это может быть просто из-за того, что мы просим слишком много ресурсов процессора. Единственный способ узнать это профилировать весь код, как ниндзя

mischizzle
источник
0

Обратитесь к этой статье команды разработчиков LinkedLN, чтобы узнать, как они улучшили производительность своего приложения HTML5 с помощью ручного кодирования DOM Manipulations:

http://engineering.linkedin.com/linkedin-ipad-5-techniques-smooth-infinite-scrolling-html5

В контексте этой статьи я вижу две проблемы с Sencha Touch:

  1. Sencha Touch создает свой пользовательский интерфейс путем преобразования объектов Javascript в узлы Dom и добавления их в дерево Dom. Chrome Tools покажет, что в конечном итоге он добавляет относительно большое количество DIV и других элементов DOM в дерево Dom. Разве это не повлияло бы на производительность.

  2. Большинство узлов Dom в пользовательском интерфейсе Sencha генерируется кодом API Sencha, а не из разметки. Если мы напишем код для непосредственной манипуляции этими элементами Dom, можем ли мы быть уверены, что он не вызовет никаких побочных эффектов?

Я разместил этот запрос на официальном форуме Сенча сегодня. Будет обновлять этот ответ с ответом.

Нихил Катре
источник
1
Не вижу, опубликовали ли вы это в 2011/2012, но в настоящее время iPad / iPhone не является проблемой на Sencha Touch. Это работает абсолютно безупречно. Проблема в том, что любая текущая версия Android 2,4 и т. Д. Translate3d настолько изменчива, что практически не работает.
Доминик Уотсон
0

Мы создаем веб-приложение для iOS / Android с использованием инфраструктуры Sencha 2, и производительность на Android просто ужасна по сравнению с IOS. К сожалению, сейчас я говорю своим клиентам, что, если они хотят приложение на Android, либо перейдите на нативное, либо на Titanium. Надеюсь, что они могут внести улучшения, но я никогда не буду использовать Sencha снова, если целевой платформой является Android.

К вашему сведению (целевым устройством была Galaxy S3).

29er
источник
-1

Sencha Touch + Phonegap Отстой на устройствах Android. Особенно, если вы нацеливаетесь на 2.2 года. Эта комбинация работает нормально для устройств Android категории G3 / Note. Забудьте Sencha Touch + Phonegap на Android, если вы хотите производительность и интерфейс, как родной.

Sencha Touch + PhoneGap хорош только для быстрого выхода на рынки на тысячах устройств, не желая сногсшибательного и удивительной производительности.

Если ваш клиент очень конкретен в отношении пользовательского интерфейса и производительности и настаивает на использовании гибридного решения, просто дайте ему отказ от ответственности и подписанный им документ о том, что он хочет приложение Sencha Touch + Phonegap.

Я сожгла не только свои пальцы, но и все тело этой смертельной комбинацией на Android.

Ашу
источник
-1

Его демонстрация кухонной мойки Sencha 2 в ноябре 2013 года висит на моем HTC Android 4.0, другие html5-фреймворки демонстрируют лучший отклик, например, XDK от Intel, использующий jqMobi.

южной части Тихого океана
источник