Je suis sur le point de démarrer un projet en utilisant Sencha Touch, et je viens de faire quelques tests mineurs sur mon appareil HTC desire. Toutes les vidéos de didacticiel de Vimeo semblent utiliser un émulateur iPhone fonctionnant sur un Mac. Je ne sais pas à quelle vitesse cet émulateur est comparé à un véritable appareil iPhone ou même un vrai appareil Android, mais d'après ce que j'ai vécu, il semble que mon désir HTC ne fonctionne pas aussi bien que cet émulateur.
Toutes les animations (glissement, fondu, etc.) semblent un peu décalées. Vous pouvez facilement remarquer que le FPS est beaucoup moins que sur les vidéos Vimeo.
HTC desire est un téléphone Android 2.2 relativement nouveau et moderne, fonctionnant avec du matériel décent, donc je me demande si Sencha Touch est "prêt" pour la plate-forme Android.
Quelqu'un avec une expérience pratique avec Android et Sencha Touch?
De sencha.com :
Je pense que la raison pour laquelle il est si lent, c'est que l'application est écrite en utilisant HTML5 / javascript. Ce qui, quand on y pense pour la première fois, est assez génial, car il facilite le déplacement entre les plates-formes. L'inconvénient est qu'ils «ressemblent et se sentent» comme des applications natives, mais ne le sont pas réellement. Ainsi, au lieu d'un code natif s'exécutant rapidement sur votre appareil, vous disposez probablement d'un wrapper pour un navigateur, dans lequel tout le code n'est que du balisage / js, ce qui est plus lent. Pensez à utiliser l'application cnn vs aller à cnn.com dans le navigateur Web de l'iphone, c'est essentiellement le même type de différence. C'est probablement ce que vous voyez, car un Mac rapide et un émulateur pourraient pousser beaucoup plus fort qu'un appareil (à moins que l'émulateur ne soit limité pour être aussi lent que l'appareil natif, ce qui pourrait être ... quelqu'un double vérifiez-moi).
la source
J'ai fait une petite comparaison de Sencha, JQuery mobile et dojox.mobile sur un émulateur et un téléphone Android en utilisant PhoneGap pour une application réelle. L'essentiel est que ce dojo surpasse facilement Sencha et JQuery, qui sont tous deux actuellement si lents qu'ils sont complètement inutiles même sur un matériel puissant.
Donc pour l'instant je vais personnellement avec dojo ou devenir natif.
Facile à essayer par vous-même en prenant l'une des «vitrines» des différents cadres et en les chrome2phone sur votre propre appareil.
la source
Je sais que c'est une question plus ancienne, cependant, je peux confirmer que nous avons également des problèmes de performances avec Sencha Touch 2.0 sur Android. Nous avons construit un prototype assez simple avec des mises en page de cartes très simples et aucune image personnalisée ou css du tout et nous avons toujours remarqué un grand décalage sur chaque appareil Android que nous avons testé. Au début, nous pensions que nous violions certaines des meilleures pratiques Sencha, mais après avoir parcouru le code et révisé tous les domaines où nous pensions que cela pouvait causer des problèmes, nous ne pouvions toujours pas obtenir la réactivité et la fluidité près de ce que nous espérions.
De plus, il semble qu'en général, toute méthode non native (en particulier JS / HTML / CSS) pour développer une application mobile aura toujours au moins quelques petits problèmes de performances. Nous envisageons maintenant d'utiliser Titanium car il offre une solution de base de code unique avec des performances beaucoup plus proches du natif (car il est techniquement natif).
la source
Nous venons de lancer une application sencha touch et il y a des problèmes de performances importants dans Android par rapport à iOS. Soyez prudent lorsque vous essayez d'implémenter des interfaces de conception lourde.
Quelque chose que j'aurais aimé savoir il y a 3 mois: les gros designs initiaux sont mauvais dans le mobile. Vous avez vraiment besoin d'une approche itérative entre l'équipe de conception / développement. Les transitions CSS3 sont difficiles sur Android: évitez beaucoup de coins arrondis, RGBA, dégradés, ombres de texte. Cela fera que votre application aura une crise.
Gardez le DOM aussi petit que possible; détruire les panneaux car ils ne sont plus utilisés.
Nous avons vu d'étranges comportements draw () sur Android, mais cela peut simplement provenir du fait que nous demandons trop de CPU. La seule façon de savoir est de profiler tout le code comme un ninya
la source
Veuillez vous référer à cet article de l'équipe d'ingénierie de LinkedLN sur la façon dont ils ont amélioré les performances de leur application HTML5 en codant manuellement les manipulations DOM:
http://engineering.linkedin.com/linkedin-ipad-5-techniques-smooth-infinite-scrolling-html5
Dans le contexte de cet article, je vois deux problèmes avec Sencha Touch:
Sencha Touch construit son interface utilisateur en convertissant des objets Javascript en nœuds Dom et en les ajoutant dans l'arborescence Dom. Les outils Chrome montreront qu'il finit par ajouter un nombre relativement élevé de DIV et d'autres éléments DOM à l'arborescence Dom. Cela n'aurait-il pas un effet néfaste sur les performances?
La plupart des nœuds Dom dans l'interface utilisateur Sencha sont générés par le code API Sencha et non à partir du balisage. Si nous écrivons du code pour manipuler directement ces éléments Dom, pouvons-nous être sûrs qu'il ne produira aucun effet secondaire?
J'ai posté cette requête sur le forum officiel de Sencha aujourd'hui. Met à jour cette réponse avec la réponse.
la source
Nous faisons une application web pour iOS / Android en utilisant le framework Sencha 2 et les performances sont tout simplement horribles sur Android par rapport à IOS. Malheureusement, je dis maintenant à mes clients que s'ils veulent une application sur Android, passez en natif ou en titane. J'espère qu'ils pourront apporter des améliorations, mais je n'utiliserai plus jamais Sencha si la plate-forme cible est Android.
Pour info (l'appareil cible était le Galaxy S3).
la source
Sencha Touch + Phonegap Sucks sur les appareils Android. Surtout si vous visez la 2.2 depuis. Cette combinaison fonctionne bien pour la catégorie G3 / Note des appareils Android. Oubliez Sencha Touch + Phonegap sur Android si vous voulez des performances et une interface utilisateur comme natives.
Sencha Touch + Phonegap n'est bon que pour frapper rapidement les marchés sur des milliers d'appareils sans souhaiter un aperçu et des performances incroyables.
SI votre client est très précis sur l'interface utilisateur et les performances et insiste sur la solution hybride, donnez-lui simplement une clause de non-responsabilité et le document signé par lui qu'il veut l'application Sencha Touch + Phonegap.
J'ai brûlé non seulement mes doigts mais tout mon corps avec ce combo mortel sur Android.
la source
Sa démo d'évier de cuisine de novembre 2013 et Sencha 2 se bloque sur mon HTC Android 4.0, d'autres cadres html5 montrent une meilleure réponse comme le XDK d'Intel qui utilise jqMobi.
la source