Як на практиці працює Sencha Touch на Android? [зачинено]


17

Я збираюся розпочати проект, використовуючи Sencha Touch, і щойно провів невелике тестування на моєму пристрої бажання HTC. У всіх відео-підручниках Vimeo, здається, використовується емулятор iPhone, який працює на Mac. Я не впевнений, наскільки швидко цей емулятор порівнюється з реальним пристроєм iPhone або навіть реальним пристроєм Android, але з того, що я пережив, здається, що моє бажання HTC не виконує таку ніклейку, як цей емулятор.

Вся анімація (ковзання, вицвітання тощо) здається, що вона відстала. Ви можете легко помітити, що FPS набагато менше, ніж на відео Vimeo.

Бажання HTC - це відносно новий і сучасний телефон Android 2.2, який працює з гідним обладнанням, тому мені цікаво, чи Sencha Touch "готовий" для платформи Android.

Хтось із практичним досвідом роботи з Android та Sencha Touch?

Відповіді:


19

Я працюю над декількома програмами Sencha Touch для Android за допомогою Phonegap, і результати несуперечливі. Досвід користувальницького інтерфейсу на пристроях iOS значно перевершує Android.

На пристроях iOS все гладко (каруселі, повзунки все), але на Android все це трохи мляво і невідповідально.

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

Цікаво, що я також читав, що навіть рідні програми Android (навіть вбудовані екрани меню) не використовують апаратне прискорення. Тільки додатки, що використовують OpenGL, фактично використовуватимуть GPU.


Я відчував подібність під час тестування Sencha Touch на моєму HTC Desire Z, але також відчував, що речі відчувають більше iPhone-ish, ніж Android-ish. Інша річ полягала в тому, що - хоча відсоток людей, до яких це стосується, може бути низьким - Sencha Touch для мене більше не працює «на Android», оскільки я використовую Firefox Mobile, тоді як Sencha Touch - лише Webkit.
zenzelezz

2
Минуло 2 роки, і сенча дотик все ще розчаровує.
Кугель

вона все ще смокче 😡 сенча дотик - це нікчемний шматок! Є так багато речей, які вони кажуть, що роблять, але навіть не одне, що вони роблять правильно ... просто запитайте їх, чи підтримують вони функцію доступності для Android або навіть iOS і дивіться, як вони хитаються!
Nav

3

Від sencha.com :

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

Я думаю, що причина настільки повільна, це те, що програма написана за допомогою HTML5 / javascript. Що, коли ви вперше задумаєтесь про це, дуже здорово, оскільки це полегшує рух по платформах. Мінусом є те, що вони "виглядають і відчувають" як рідні програми, але насправді це не так. Отже, замість того, щоб власний код швидко виконувався на вашому пристрої, у вас є те, що, ймовірно, обгортка для браузера, в якому весь код - це лише розмітка / js, що повільніше. Подумайте про використання програми cnn проти того, щоб перейти на cnn.com у веб-браузері iphone, це по суті той самий тип різниці. Це, мабуть, те, що ви бачите, як швидкий mac та емулятор можуть натиснути набагато важче, ніж пристрій (якщо тільки емулятор не заглушиться таким же повільним, як і рідний пристрій, який може бути ... хтось подвійний перевірити мене).


1

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

Тож поки я особисто поїду з доджо або поїду додому.

Легко спробувати це самостійно, взявши будь-яку з «вітрин» з різних рамок і chrome2phone їх власноруч.


1
Ви перший, хто сказав, що Dojo Mobile перевершує будь-які інші рамки. Серед усіх розробників мобільних додатків, яких я знаю, у Доджо йде непрацездатність мобільної системи ...
Steffen Müller

Якщо ви говорите лише про продуктивність, емулятори ніколи не слід використовувати. Вони сильно відрізняються від запущених на апаратному забезпеченні.
Муфаса

1

Я знаю, що це давнє питання, проте я можу підтвердити, що у нас також виникають проблеми з продуктивністю під керуванням Sencha Touch 2.0 на Android. Ми створили досить простий прототип з дуже простою компонуванням карт і зовсім не користувальницькими зображеннями або css і все ще помітили велику відставання на кожному тестованому пристрої Android. Спочатку ми думали, що ми порушуємо деякі найкращі практики Сенчі, проте, переглянувши код і переглянувши кожну область, де, на нашу думку, це може спричинити проблеми, ми все ще не змогли досягти чутливості та плавності десь поблизу від того, на що сподівались.

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


1
З цікавості ви пробували на пристроях Android 4.0? Оскільки у них доступне прискорення графічного процесора, воно може працювати краще. Як увімкнути: developer.android.com/guide/topics/graphics/hardware-accel.html
Дрейк Кларріс

1
Дякую за пораду. Ми не протестували на жодних 4.0 пристроях. Судячи з відповіді Діна Уайлда, я вважав, що проблеми прискорення GPU є, мабуть, головним винуватцем. Проблема зараз полягає в тому, що навіть якщо ми зможемо підвищити продуктивність на пристроях 4.0, вони становлять таку невелику частину (~ 10%) ринку Android, що ми все одно, мабуть, будемо вирішувати рішення, крім Sencha.
paz

незалежно від того, що ти робиш із сенчею, це завжди буде повільно ... тому причина їх глибокої вкладеної структури дому, яка не підходить для жодного браузера, залишає в спокої мобільні браузери.
Nav

0

Ми щойно запустили додаток sencha touch, і в Android є деякі значні проблеми з продуктивністю порівняно з iOS. Будьте обережні, намагаючись реалізувати важкі для дизайну інтерфейси.

Щось, що я хотів би знати, 3 місяці тому: великі передові проекти погані в мобільному зв’язку. Вам дійсно потрібен ітеративний підхід між командою дизайнерів / розробників. Переходи CSS3 для Android важкі: уникайте безлічі закруглених кутів, RGBA, градієнтів, текстових тіней. Це зробить ваш додаток захопленням.

Тримайте DOM якомога менше; знищуйте панелі, оскільки вони більше не використовуються.

Ми бачили деяку дивну поведінку малювання () на Android, але це може просто випливати з того, що ми просимо занадто багато процесора. Єдиний спосіб дізнатися - це профілювати весь код, як нінья


0

Будь ласка, зверніться до цієї статті команди LinkedLN Engineering про те, як вони покращили продуктивність свого додатка HTML5 шляхом ручного кодування маніпуляцій DOM:

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

У контексті цієї статті я бачу два випуски Sencha Touch:

  1. Sencha Touch будує свій інтерфейс, перетворюючи об’єкти Javascript у Dom Nodes і додаючи їх до дерева Dom. Інструменти Chrome покажуть, що це додає до дерева Dom відносно велику кількість DIV та інших елементів DOM. Чи це не матиме згубного впливу на продуктивність.

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

Я сьогодні опублікував цей запит на офіційному форумі Sencha. Буде оновлено цю відповідь відповіддю.


1
Не можу побачити, чи ви розміщували це в 2011/2012, але наразі iPad / iPhone просто не є проблемою на Sencha Touch. Він працює абсолютно бездоганно. Проблема в тому, що будь-яка поточна версія Android 2,4 тощо. Translate3d настільки хитра, що майже непридатна.
Домінік Уотсон

0

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

FYI (цільовим пристроєм був Galaxy S3).


-1

Sencha Touch + Phonegap Sucks на Android-пристроях. Особливо, якщо ви орієнтуєтесь на 2.2. Ця комбінація працює нормально для Android-пристроїв G3 / Note. Забудьте про Sencha Touch + Phonegap на Android, якщо ви хочете продуктивність та інтерфейс, як рідний.

Sencha Touch + Phonegap хороший лише для швидкого потрапляння на ринки на тисячах пристроїв, не бажаючи окунації та дивовижної продуктивності.

Якщо ваш клієнт дуже специфічний щодо інтерфейсу та продуктивності та наполягає на гібридному рішенні, просто дайте йому відмову та підписаний ним документ про те, що він хоче додаток Sencha Touch + Phonegap.

Цим смертельним комбо на Android я спалив не тільки пальці, але й усе тіло.


-1

Його демонстрація кухонної раковини у листопаді 2013 року та сенча 2 висить на моєму HTC Android 4.0, інші рамки html5 демонструють кращу реакцію, наприклад XDK Intel, який використовує jqMobi.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.