¿Cómo se desempeña Sencha Touch en Android en la práctica? [cerrado]

17

Estoy a punto de comenzar un proyecto con Sencha Touch, y acabo de hacer algunas pruebas menores en mi dispositivo HTC. Todos los videos tutoriales en Vimeo parecen estar usando un emulador de iPhone que se ejecuta en una Mac. No estoy seguro de qué tan rápido se compara este emulador con un dispositivo iPhone real o incluso con un dispositivo Android real, pero por lo que he experimentado, parece que mi deseo de HTC no funciona tan bien como este emulador.

Todas las animaciones (deslizamiento, desvanecimiento, etc.) parecen un poco lentas. Puedes notar fácilmente que el FPS es mucho menor que en los videos de Vimeo.

HTC desire es un teléfono Android 2.2 relativamente nuevo y moderno, que funciona con un hardware decente, por lo que me pregunto si Sencha Touch está "listo" para la plataforma Android.

¿Alguien con experiencia práctica con Android y Sencha Touch?


fuente

Respuestas:

19

Estoy trabajando en varias aplicaciones Sencha Touch para Android usando Phonegap y los resultados son decepcionantes. La experiencia de UI en dispositivos iOS es muy superior a la de Android.

En dispositivos iOS, todo es fluido (carruseles, controles deslizantes de todo), pero en Android, todo es un poco lento y no responde.

Actualización He investigado un poco más y parece que los dispositivos iOS hacen uso de la aceleración de hardware de la GPU para hacer las transiciones CSS. En los dispositivos Android, todo esto lo hace la CPU además de todo lo que ya está haciendo, por lo que tenemos una apariencia lenta de la interfaz de usuario. Suspiro ... Supongo que es mucho más difícil implementar la aceleración de hardware cuando el hardware varía mucho.

Curiosamente, también leí que incluso las aplicaciones nativas de Android (incluso las pantallas de menú integradas) no usan aceleración de hardware. Solo las aplicaciones que utilizan OpenGL realmente harán uso de la GPU.

Dean Wild
fuente
Me sentí similar al probar Sencha Touch en mi HTC Desire Z, pero también sentí que las cosas se sentían más como un iPhone que como Android. Otra cosa fue que, si bien el porcentaje de personas a las que esto aplica podría ser bajo, Sencha Touch ya no "funciona" para mí en Android, ya que uso Firefox Mobile, mientras que Sencha Touch es solo para Webkit.
zenzelezz
2
Han pasado 2 años y el toque de Sencha sigue siendo decepcionante.
Kugel
todavía apesta 😡 ¡sencha touch es una mierda inútil! Hay tantas cosas que dicen que hacen, pero ni siquiera una cosa que hacen correctamente ... ¡solo pregúntales si admiten la función de accesibilidad de Android o incluso iOS y míralos retorcerse!
Nav
3

Desde sencha.com :

Sencha Touch, el primer framework JavaScript móvil HTML5 que le permite desarrollar aplicaciones web móviles que se ven y se sienten nativas en iPhone y Android

Creo que la razón por la que es tan lenta es que la aplicación está escrita con HTML5 / javascript. Lo cual, cuando lo piensas por primera vez, es bastante bueno, ya que facilita el movimiento entre plataformas. La desventaja es que "se ven y se sienten" como aplicaciones nativas, pero en realidad no lo son. Entonces, en lugar de que el código nativo se ejecute rápidamente en su dispositivo, tiene lo que probablemente sea un contenedor para un navegador, en el que todo el código es solo marcado / js, que es más lento. Piense en usar la aplicación cnn en lugar de ir a cnn.com en el navegador web del iPhone, es esencialmente el mismo tipo de diferencia. Esto es probablemente lo que está viendo, ya que un Mac rápido y un emulador podrían presionar mucho más que un dispositivo (a menos que el emulador se acelere para ser tan lento como el dispositivo nativo, lo que podría ser ... alguien doble Registrarme).

Ryan Hayes
fuente
1

He hecho un pequeño punto de referencia de Sencha, JQuery mobile y dojox.mobile en el emulador y teléfono Android usando phonegap para una aplicación de la vida real. La conclusión es que el dojo supera fácilmente a Sencha y JQuery, que actualmente es tan lento que es completamente inútil incluso en hardware potente.

Así que por ahora iré personalmente con dojo o me haré nativo.

Es fácil probarlo usted mismo llevando cualquiera de las 'vitrinas' de los distintos marcos y chrome2phone a su propio dispositivo.

Psimon
fuente
1
Eres el primero en decir que Dojo Mobile supera a cualquiera de los otros marcos. Entre todos los desarrolladores de aplicaciones móviles que conozco, Dojo es el gag de un mal ha ido marco móvil ...
Steffen Müller
Si solo habla de rendimiento, los emuladores nunca deben usarse. Son muy diferentes a los que se ejecutan en el hardware.
Mufasa
1

Sé que esta es una pregunta anterior, sin embargo, puedo confirmar que también tenemos problemas de rendimiento al ejecutar Sencha Touch 2.0 en Android. Hemos creado un prototipo bastante simple con diseños de tarjetas muy simples y sin imágenes personalizadas o CSS y aún notamos una gran cantidad de retraso en cada dispositivo Android que probamos. Al principio, pensamos que estábamos violando algunas de las mejores prácticas de Sencha, sin embargo, después de revisar el código y revisar cada área en la que pensamos que podría estar causando problemas, aún no pudimos obtener la capacidad de respuesta y la suavidad cerca de lo que esperábamos.

En una nota adicional, parece que, en general, cualquier método no nativo (especialmente basado en JS / HTML / CSS) para desarrollar una aplicación móvil siempre tendrá al menos algunos pequeños problemas con el rendimiento. Ahora estamos considerando usar Titanium ya que ofrece una solución de código único con un rendimiento mucho más cercano al nativo (ya que técnicamente es nativo).

paz
fuente
1
Por curiosidad, ¿has probado en dispositivos Android 4.0? Como tienen disponible la aceleración de GPU, podría funcionar mejor. Cómo habilitar: developer.android.com/guide/topics/graphics/hardware-accel.html
Drake Clarris el
1
Gracias por el consejo. No hemos probado en ningún dispositivo 4.0. A juzgar por la respuesta de Dean Wild, pensé que los problemas de aceleración de la GPU eran probablemente el principal culpable. El problema ahora es que, incluso si pudiéramos aumentar el rendimiento en dispositivos 4.0, constituyen una porción tan pequeña (~ 10%) del mercado de Android que probablemente todavía terminemos con una solución aparte de Sencha.
paz
no importa lo que hagas con sencha, siempre será lento ... la razón es su estructura dom anidada profunda que no es adecuada para ningún navegador, deja solo los navegadores móviles.
Nav
0

Acabamos de lanzar una aplicación táctil sencha y hay algunos problemas de rendimiento importantes en Android en comparación con iOS. Tenga cuidado al intentar implementar interfaces de diseño pesado.

Algo que desearía saber hace 3 meses: los grandes diseños iniciales son malos en los dispositivos móviles. Realmente necesitas un enfoque iterativo entre el equipo de diseño / desarrollo. Las transiciones CSS3 son difíciles en Android: evite muchas esquinas redondeadas, RGBA, gradientes, sombras de texto. Hará que su aplicación tenga un ataque.

Mantenga el DOM lo más pequeño posible; destruya los paneles ya que ya no se usan.

Hemos visto algunos comportamientos extraños de draw () en Android, pero eso puede deberse simplemente al hecho de que le estamos pidiendo demasiado a la CPU. La única forma de saber es perfilar todo el código como un ninya

mezcla
fuente
0

Consulte este artículo del equipo de ingeniería de LinkedLN sobre cómo mejoraron el rendimiento de su aplicación HTML5 al codificar manualmente las manipulaciones DOM:

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

En el contexto de este artículo, veo dos problemas con Sencha Touch:

  1. Sencha Touch construye su interfaz de usuario al convertir objetos Javascript en nodos Dom y agregarlos al árbol Dom. Chrome Tools mostrará que termina agregando un número relativamente alto de DIV y otros elementos DOM al árbol Dom. ¿No tendría esto un efecto perjudicial en el rendimiento?

  2. La mayoría de los nodos Dom en la interfaz de usuario de Sencha son generados por el código API de Sencha y no por el marcado. Si escribimos código para manipular directamente estos elementos Dom, ¿podemos estar seguros de que no producirá ningún efecto secundario?

He publicado esta consulta en el foro oficial de Sencha hoy. Actualizará esta respuesta con la respuesta.

Nikhil Katre
fuente
1
No puedo ver si publicó esto en 2011/2012, pero actualmente el iPad / iPhone simplemente no es un problema en Sencha Touch. Funciona absolutamente perfecto. El problema es cualquier versión actual de Android 2,4, etc. translate3d es tan entrecortado que es casi inutilizable.
Dominic Watson, el
0

Estamos haciendo una aplicación web para iOS / Android usando el marco Sencha 2 y el rendimiento es simplemente horrible en Android en comparación con iOS. Desafortunadamente, ahora les digo a mis clientes que si quieren una aplicación en Android, ya sea nativa o Titanium. Espero que puedan hacer mejoras, pero nunca volveré a usar Sencha si la plataforma de destino es Android.

FYI (el dispositivo objetivo era Galaxy S3).

29er
fuente
-1

Sencha Touch + Phonegap apesta en dispositivos Android. Especialmente si está apuntando a 2.2 en adelante. Esta combinación funciona bien para la categoría G3 / Note de dispositivos Android. Olvídate de Sencha Touch + Phonegap en Android si quieres rendimiento y la interfaz de usuario como nativa.

Sencha Touch + Phonegap solo es bueno para llegar rápidamente a los mercados en miles de dispositivos sin desear que se destaquen y tengan un rendimiento increíble.

SI su cliente es muy específico acerca de la interfaz de usuario y el rendimiento e insiste en la solución híbrida, simplemente déle un descargo de responsabilidad y el documento firmado por él que dice que quiere la aplicación Sencha Touch + Phonegap.

No solo me he quemado los dedos, sino todo el cuerpo con este combo mortal en Android.

ashu
fuente
-1

Su demostración de fregadero de la cocina Sencha 2 de noviembre de 2013 se cuelga en mi HTC Android 4.0, otros marcos html5 muestran una mejor respuesta, como XDK de Intel que usa jqMobi.

Pacífico Sur
fuente