android - PhoneGap 1.4 envolviendo Sencha Touch 2.X-¿Qué hay del rendimiento?
ios performance (4)
Igual que aquí. He probado muchas de mis aplicaciones Sencha Touch 2 en Samsung GalaxyTab y el rendimiento es realmente terrible. Hay un hecho (que tal vez una parte de la razón real) que iOS hace muchos procesos previos y cálculos antes de la renderización para que parezca más suave a la apariencia del usuario, mientras que Android tiende a procesar y procesar simultáneamente sobre la marcha.
En general, podría decirse que, para cada aplicación móvil multiplataforma basada en Javascript, como Sencha Touch, el rendimiento de iOS es significativamente mejor que Android. Sin embargo, el equipo de desarrollo de Sencha Touch está haciendo todo lo posible para mejorar esto, con suerte sería mejor en los próximos lanzamientos. Podrías ver este artículo sobre comparación de rendimiento de dispositivos iOS y Android.
http://www.sencha.com/blog/sencha-touch-2-developer-preview/
PD: si bien es muy relevante para el límite del sistema operativo, también puedes optimizar tu aplicación para que funcione mejor en dispositivos Android. Para mi experiencia, la mejor práctica es:
- NO use CSS3 demasiado.
- Mantenga su DOM lo más bajo posible.
Espero eso ayude.
Estoy construyendo una aplicación de tableta multiplataforma con Phonegap 1.4 usando solo su vista web, luego trabajo mi magia con el framework Sencha Touch 2. Por multiplataforma me refiero a iOS 5.X + y Android 3.0+ (por ahora).
Esta aplicación funciona muy bien hasta el momento, todas sus funciones funcionan en ambos sistemas, pero ... En la tableta de Android (Samsung GalaxyTab) es muy lento. ¿Qué esta pasando? ¿Puedo hacer algo al respecto, o es solo el límite de Android?
Gracias
Ricardo Perre: http://edgecodetechology.blogspot.pt/
**** EDIT **** (Estoy tratando de hacer que esta publicación sea útil para la comunidad sencha)
Sencha Touch, al igual que muchos otros marcos de JavaScript no son el mejor ejemplo de rendimiento debido a javascript en sí.
Entonces ¿Por qué usar Sencha Touch ?
- En mi caso: Multiplataforma (iOS, Android, Windows Phone, Blackberry, Windows, Mac OSX, Linux. Compartir el 80-90% del código)
Mitigating performance issues due to lack of visual pre-process in Android systems:
Proceso visual pesado de CSS3:
- Evitar degradados
- Evita las sombras
- Evitar transformaciones y animaciones
Buenas prácticas de MVC:
- No use más vistas y realmente muestra
- Pre-render / Pre-datafetch cuando sea posible para evitar el proceso de renderizado y datos simultáneamente
Para cualquier vista de desplazamiento, overscroll debe estar deshabilitado en Android. He probado muchas aplicaciones de Sencha Touch 2 en dispositivos Android y el desplazamiento excesivo causa una experiencia desagradable debido a retrasos y retrasos. (probado en Galaxy Tab, Nexus S y algunos HTC) por Thiem Nguyen (he estado extrayendo tus publicaciones, lo siento amigo: P)
No estoy seguro de si el problema se relaciona directamente con el sistema operativo, como si la aplicación se ejecuta en Android, iOS, etc.
Si prueba el ejemplo de Sencha Touch 2 Kitchen Sink en un dispositivo de hardware de capacidad baja a media, como Samsumg Galaxy, experimentará problemas de bajo rendimiento.
Sin embargo, si te mueves a dispositivos de hardware mejores, como el HTC Desire 2 (algo más parecido al iPhone 4S), verás que el rendimiento mejora mucho.
No creo que Android tenga limitaciones en Sencha Touch 2 con respecto al rendimiento en comparación con iOS. Simplemente creo que algunos dispositivos son mejores que otros (iOS siempre se ejecuta en dispositivos de alto rendimiento, el iPhone / iPad).
Y para nuestra miseria, la gente tiende a poseer precios más bajos y hardware capaz.
No soy un desarrollador de PhoneGap o Sencha, pero trato de estar al tanto de lo que concierne al rendimiento y la evolución de los navegadores.
Tienes tantas capas de abstracción (sencha touch, phonegap, android, webkit, fffuuu) para tu aplicación que puede ser muy difícil entender dónde están los problemas de rendimiento.
En lo que respecta al diseño del teléfono, no incrusta ninguna implementación de webkit, lo que hace (en Android) es hacer uso de android.webkit.WebView. Descubrí que muchas personas se quejan de que la vista web tuvo un rendimiento terrible con respecto al navegador webkit de Android. Puede ser difícil mejorar aquí, ya que está usando phonegap, y estropearlo con Android SDK puede hacerle perder la portabilidad, si eso es importante para usted.
Lo que veo como un problema de rendimiento en Phonegap es que depende no solo del hardware, sino también de la implementación del navegador que tenga el sistema operativo.
Si desea ajustar el rendimiento, puede hacer mejoras en su código js / css. Esto puede ser simple ya que el almacenamiento en caché de nodos DOM en js (consultas DOM son lentas), mantiene el DOM mínimo o puede ser más difícil, ya que phonegap se dirige a diferentes implementaciones de motores de navegador, es posible que deba orientar su código a esos navegadores para poder mejorar el rendimiento.
Tengo algunas preguntas fundamentales sobre el rendimiento de las aplicaciones basadas en SenchaTouch. Consulte este artículo del equipo de LinkedLN sobre cómo mejoraron el rendimiento de su aplicación HTML5 mediante la codificación manual de DOM Manipulations: -
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:
Sencha Touch construye su UI convirtiendo objetos JavaScript en nodos Dom y agregándolos al Dom Tree. 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.
La mayoría de los nodos Dom en la interfaz de usuario de Sencha son generados por el código de la 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?