Ich bin gerade dabei, ein Projekt mit Sencha Touch zu starten und habe gerade einige kleinere Tests auf meinem HTC Desire-Gerät durchgeführt. Alle Tutorial-Videos bei Vimeo scheinen einen iPhone-Emulator zu verwenden, der auf einem Mac ausgeführt wird. Ich bin mir nicht sicher, wie schnell dieser Emulator im Vergleich zu einem echten iPhone-Gerät oder sogar einem echten Android-Gerät ist, aber meiner Erfahrung nach scheint mein HTC-Wunsch nicht so gut zu funktionieren wie dieser Emulator.
Alle Animationen (gleiten, verblassen usw.) scheinen etwas verzögert. Sie können leicht feststellen, dass die FPS viel geringer ist als bei den Vimeo-Videos.
HTC Desire ist ein relativ neues und modernes Android 2.2-Handy mit anständiger Hardware. Ich frage mich, ob Sencha Touch für die Android-Plattform "bereit" ist.
Jemand mit praktischen Erfahrungen mit Android und Sencha Touch?
Von sencha.com :
Ich denke, der Grund, warum es so langsam ist, ist, dass die Anwendung mit HTML5 / Javascript geschrieben wurde. Was, wenn Sie zum ersten Mal darüber nachdenken, ziemlich gut ist, da es einfacher ist, sich über Plattformen hinweg zu bewegen. Der Nachteil ist, dass sie wie native Apps aussehen und sich anfühlen, dies aber nicht sind. Anstatt nativen Code schnell auf Ihrem Gerät auszuführen, haben Sie wahrscheinlich einen Wrapper für einen Browser, in dem der gesamte Code nur Markup / js ist, was langsamer ist. Denken Sie darüber nach, die cnn-App zu verwenden, anstatt im iphone-Webbrowser auf cnn.com zu gehen. Das ist im Wesentlichen der gleiche Unterschied. Dies ist wahrscheinlich, was Sie sehen, da ein schneller Mac und ein Emulator viel härter drängen können als ein Gerät (es sei denn, der Emulator wird gedrosselt, um so langsam zu sein wie das native Gerät, was es sein könnte ... jemand doppeltes Überprüfe mich).
quelle
Ich habe einen kleinen Benchmark von Sencha, JQuery Mobile und dojox.mobile auf dem Android-Emulator und dem Telefon mit phonegap für eine echte App durchgeführt. Die Quintessenz ist, dass Dojo sowohl Sencha als auch JQuery, die beide derzeit so träge sind, dass sie selbst auf leistungsfähiger Hardware völlig unbrauchbar sind, leicht übertrifft.
So, jetzt gehe ich persönlich mit Dojo oder gehe einheimisch.
Probieren Sie es einfach selbst aus, indem Sie eines der beiden "Vitrinen" aus den verschiedenen Frameworks auswählen und auf Ihr eigenes Gerät übertragen.
quelle
Ich weiß, dass dies eine ältere Frage ist. Ich kann jedoch bestätigen, dass wir auch Leistungsprobleme beim Ausführen von Sencha Touch 2.0 auf Android haben. Wir haben einen recht einfachen Prototyp mit sehr einfachen Kartenlayouts und überhaupt keinen benutzerdefinierten Bildern oder CSS erstellt und trotzdem auf jedem von uns getesteten Android-Gerät eine große Verzögerung festgestellt. Zuerst dachten wir, dass wir gegen einige der Best Practices von Sencha verstoßen, aber nachdem wir den Code durchgesehen und alle Bereiche überarbeitet hatten, von denen wir dachten, dass sie Probleme verursachen könnten, konnten wir immer noch nicht die erhoffte Reaktionsfähigkeit und Geschmeidigkeit erreichen.
Im Allgemeinen scheint jede nicht native Methode (insb. JS / HTML / CSS-basiert) zur Entwicklung einer mobilen App immer zumindest einige kleine Leistungsprobleme zu haben. Wir erwägen jetzt die Verwendung von Titanium, da es eine Single-Code-Basislösung mit einer Leistung bietet, die der nativen Lösung viel näher kommt (da sie technisch nativ ist).
quelle
Wir haben gerade eine Sencha Touch App gestartet und es gibt einige signifikante Leistungsprobleme bei Android im Vergleich zu iOS. Seien Sie vorsichtig, wenn Sie versuchen, designintensive Schnittstellen zu implementieren.
Etwas, von dem ich mir vor 3 Monaten gewünscht hätte, dass ich es wüsste: Große Upfront-Designs sind in Mobilgeräten schlecht. Sie brauchen wirklich einen iterativen Ansatz zwischen dem Design- / Entwicklerteam. CSS3-Übergänge sind unter Android schwierig: Vermeiden Sie viele abgerundete Ecken, RGBA, Farbverläufe und Textschatten. Es wird Ihre App einen Anfall haben.
Halten Sie das DOM so klein wie möglich. zerstöre die Paneele, da sie nicht mehr gebraucht werden.
Wir haben einige merkwürdige draw () -Verhaltensweisen auf Android gesehen, aber das kann einfach daran liegen, dass wir zu viel von der CPU verlangen. Die einzige Möglichkeit, dies zu wissen, besteht darin, den gesamten Code wie eine Ninya zu profilieren
quelle
Lesen Sie in diesem Artikel des LinkedLN Engineering-Teams nach, wie sie die Leistung ihrer HTML5-App durch manuelles Codieren von DOM-Manipulationen verbessert haben:
http://engineering.linkedin.com/linkedin-ipad-5-techniques-smooth-infinite-scrolling-html5
Im Zusammenhang mit diesem Artikel sehe ich zwei Probleme mit Sencha Touch:
Sencha Touch erstellt seine Benutzeroberfläche, indem Javascript-Objekte in Dom-Knoten konvertiert und in den Dom-Baum eingefügt werden. Chrome Tools zeigt, dass dem Dom-Baum eine relativ große Anzahl von Divs und anderen DOM-Elementen hinzugefügt wird. Würde sich das nicht nachteilig auf die Leistung auswirken?
Die meisten Dom-Knoten in der Sencha-Benutzeroberfläche werden vom Sencha-API-Code und nicht vom Markup generiert. Wenn wir Code schreiben, um diese Dom-Elemente direkt zu manipulieren, können wir dann sicher sein, dass er keine Nebenwirkungen hervorruft?
Ich habe diese Abfrage heute im offiziellen Sencha-Forum veröffentlicht. Aktualisiert diese Antwort mit der Antwort.
quelle
Wir machen eine Web-App für iOS / Android mit dem Sencha 2-Framework und die Leistung ist auf Android im Vergleich zu IOS einfach schrecklich. Leider sage ich meinen Kunden jetzt, dass sie, wenn sie eine App für Android wollen, entweder native oder Titanium werden. Hoffentlich können sie Verbesserungen vornehmen, aber ich werde Sencha nie wieder verwenden, wenn die Zielplattform Android ist.
Zu Ihrer Information (Zielgerät war Galaxy S3).
quelle
Sencha Touch + Phonegap saugt auf Android-Geräten. Besonders, wenn Sie auf 2.2 oder höher abzielen. Diese Kombination funktioniert gut für G3 / Note Kategorie von Android-Geräten. Vergessen Sie Sencha Touch + Phonegap auf Android, wenn Sie Leistung und Benutzeroberfläche wie native möchten.
Sencha Touch + Phonegap ist nur dann gut, wenn Sie schnell auf Tausenden von Geräten auf den Markt kommen möchten, ohne aufsehenerregende Leistung zu wünschen.
Wenn Ihr Kunde sehr spezifisch in Bezug auf Benutzeroberfläche und Leistung ist und auf einer Hybrid-Lösung besteht, geben Sie ihm einfach den Haftungsausschluss und das von ihm unterschriebene Papier, dass er die Sencha Touch + Phonegap-App möchte.
Ich habe nicht nur meine Finger, sondern den ganzen Körper mit dieser tödlichen Kombination auf Android verbrannt.
quelle
Die Demoversion von Nov 2013 und Sencha 2 für Küchenspülen hängt an meinem HTC Android 4.0. Andere HTML5-Frameworks zeigen eine bessere Reaktion, z. B. das Intel XDK, das jqMobi verwendet.
quelle