Come si comporta in pratica Sencha Touch su Android? [chiuso]


17

Sto per iniziare un progetto con Sencha Touch e ho appena fatto alcuni test minori sul mio dispositivo HTC. Tutti i video tutorial su Vimeo sembrano utilizzare un emulatore iPhone in esecuzione su un Mac. Non sono sicuro di quanto sia veloce questo emulatore rispetto a un vero dispositivo iPhone o persino a un vero dispositivo Android, ma da quello che ho sperimentato, sembra che il mio desiderio HTC non funzioni così bene come questo emulatore.

Tutte le animazioni (scorrevoli, sbiadite, ecc.) Sembrano piuttosto ritardate. Si può facilmente notare che l'FPS è molto inferiore rispetto ai video di Vimeo.

HTC desire è un telefono Android 2.2 relativamente nuovo e moderno, con hardware decente, quindi mi chiedo se Sencha Touch sia "pronto" per la piattaforma Android.

Qualcuno con esperienza pratica con Android e Sencha Touch?

Risposte:


19

Sto lavorando su diverse app Sencha Touch per Android utilizzando Phonegap e i risultati sono deludenti. L'esperienza dell'interfaccia utente sui dispositivi iOS è di gran lunga superiore ad Android.

Sui dispositivi iOS, tutto è liscio (giostre, slider tutto), ma su Android è tutto un po 'lento e non risponde.

Aggiornamento Ho fatto un po 'più di ricerca e sembra che i dispositivi iOS utilizzino l'accelerazione hardware della GPU per fare le transizioni CSS. Sui dispositivi Android, tutto ciò viene fatto dalla CPU oltre a tutto ciò che sta già facendo, quindi abbiamo un aspetto ritardato all'interfaccia utente. Sospiro ..... Immagino sia molto più difficile implementare l'accelerazione hardware quando l'hardware varia così tanto.

È interessante notare che ho anche letto che anche le app Android native (anche le schermate dei menu integrate) non usano l'accelerazione hardware. Solo le app che utilizzano OpenGL faranno effettivamente uso della GPU.


Mi sono sentito simile quando ho provato Sencha Touch sul mio HTC Desire Z, ma ho anche sentito che le cose sembravano più iPhone-ish che Android-ish. Un'altra cosa era che, sebbene la percentuale di persone a cui si applica potrebbe essere bassa, Sencha Touch non "funziona" per me su Android da quando utilizzo Firefox Mobile, mentre Sencha Touch è solo Webkit.
zenzelezz,

2
Sono passati 2 anni e il tocco di Sencha è ancora deludente.
Kugel,

fa ancora schifo 😡 il tocco sencha è una merda senza valore! Ci sono così tante cose che dicono di fare ma nemmeno una cosa che fanno correttamente ... chiedi loro se supportano la funzionalità di accessibilità di Android o persino iOS e guardali dimenarsi!
Nav

3

Da sencha.com :

Sencha Touch, il primo framework JavaScript mobile HTML5 che ti consente di sviluppare app Web mobili che sembrano native su iPhone e Android

Penso che il motivo per cui è così lento sia che l'applicazione sia scritta usando HTML5 / javascript. Il che, quando ci pensi per la prima volta, è piuttosto bello, dal momento che rende più semplice spostarsi tra le piattaforme. Il rovescio della medaglia è che "sembrano e si sentono" come app native, ma in realtà non lo sono. Quindi, invece di eseguire rapidamente il codice nativo sul tuo dispositivo, hai quello che è probabilmente un wrapper per un browser, in cui tutto il codice è solo markup / js, che è più lento. Pensa a usare l'app cnn vs andare su cnn.com nel browser web di iPhone, è essenzialmente lo stesso tipo di differenza. Questo è probabilmente quello che stai vedendo, poiché un mac veloce e un emulatore potrebbero spingere molto più duramente di un dispositivo (a meno che l'emulatore non sia rallentato per essere lento come il dispositivo nativo, che potrebbe essere ... qualcuno doppio controllami).


1

Ho fatto un piccolo benchmark di Sencha, JQuery mobile e dojox.mobile sull'emulatore e sul telefono Android usando phonegap per un'app nella vita reale. La linea di fondo è che il dojo supera facilmente sia Sencha che JQuery, entrambi attualmente così lenti da essere completamente inutili anche su hardware potente.

Quindi per ora andrò personalmente con il dojo o diventerò nativo.

È facile provarlo prendendo una delle "vetrine" dei vari framework e Chrome2phone sul proprio dispositivo.


1
Sei il primo a dire che Dojo Mobile supera qualsiasi altro framework. Tra tutti gli sviluppatori di app mobili che conosco, Dojo è il bavaglio di esecuzione di un framework mobile andato storto ...
Steffen Müller,

Se stai parlando solo di prestazioni, gli emulatori non dovrebbero mai essere usati. Sono molto diversi rispetto all'hardware.
Mufasa,

1

So che questa è una domanda più vecchia, tuttavia, posso confermare che stiamo riscontrando anche problemi di prestazioni con Sencha Touch 2.0 su Android. Abbiamo creato un prototipo abbastanza semplice con layout di schede molto semplici e nessuna immagine personalizzata o CSS e abbiamo comunque notato un grande ritardo su ogni dispositivo Android che abbiamo testato. Inizialmente, pensavamo di violare alcune delle migliori pratiche di Sencha, tuttavia dopo aver esaminato il codice e rivisto ogni area in cui pensavamo potesse causare problemi, non riuscivamo ancora a ottenere la reattività e la fluidità ovunque vicino a ciò che speravamo.

Su una nota a margine, sembra che in generale qualsiasi metodo non nativo (specialmente basato su JS / HTML / CSS) per lo sviluppo di un'app mobile avrà sempre almeno alcuni piccoli problemi con le prestazioni. Stiamo prendendo in considerazione l'utilizzo di Titanium poiché offre un'unica soluzione di base di codice con prestazioni molto più vicine al nativo (poiché tecnicamente è nativo).


1
Per curiosità, hai provato sui dispositivi Android 4.0? Dato che hanno l'accelerazione GPU disponibile, potrebbe funzionare meglio. Come abilitare: developer.android.com/guide/topics/graphics/hardware-accel.html
Drake Clarris

1
Grazie per il consiglio. Non abbiamo testato su alcun dispositivo 4.0. A giudicare dalla risposta di Dean Wild, ho pensato che i problemi di accelerazione della GPU fossero probabilmente il principale colpevole. Il problema ora è che anche se potessimo ottenere prestazioni su dispositivi 4.0, costituiscono una porzione così piccola (~ 10%) del mercato Android che probabilmente finiremo per andare con una soluzione a parte Sencha.
paz,

non importa cosa farai con sencha sarà sempre lento ... il motivo è la loro struttura dom annidata in profondità che non è adatta a nessun browser e lascia solo i browser mobili.
Nav

0

Abbiamo appena lanciato un'app touch sencha e ci sono alcuni problemi di prestazioni significativi in ​​Android rispetto a iOS. Prestare attenzione quando si tenta di implementare interfacce pesanti per il design.

Qualcosa che vorrei sapere 3 mesi fa: i grandi progetti iniziali sono cattivi nei dispositivi mobili. Hai davvero bisogno di un approccio iterativo tra il team di progettazione / sviluppo. Le transizioni CSS3 sono difficili su Android: evita molti angoli arrotondati, RGBA, sfumature, ombre di testo. Farà convivere la tua app.

Mantenere il DOM il più piccolo possibile; distruggere i pannelli in quanto non vengono più utilizzati.

Abbiamo visto alcuni strani comportamenti draw () su Android, ma ciò potrebbe semplicemente derivare dal fatto che stiamo chiedendo troppo alla CPU. L'unico modo per sapere è profilare tutto il codice come un ninya


0

Si prega di fare riferimento a questo articolo dal team di LinkedLN Engineering su come hanno migliorato le prestazioni della loro app HTML5 codificando manualmente le manipolazioni DOM:

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

Nel contesto di questo articolo vedo due problemi con Sencha Touch:

  1. Sencha Touch costruisce la sua interfaccia utente convertendo gli oggetti Javascript in nodi Dom e aggiungendoli all'albero Dom. Chrome Tools mostrerà che finisce per aggiungere un numero relativamente alto di DIV e altri elementi DOM all'albero Dom. Questo non avrebbe un effetto dannoso sulla performance.

  2. La maggior parte dei nodi Dom nell'interfaccia utente di Sencha sono generati dal codice API Sencha e non dal markup. Se scriviamo codice per manipolare direttamente questi elementi Dom, possiamo essere sicuri che non produrrà effetti collaterali?

Oggi ho pubblicato questa domanda sul forum ufficiale di Sencha. Aggiornerà questa risposta con la risposta.


1
Non riesco a vedere se lo hai pubblicato nel 2011/2012 ma attualmente iPad / iPhone non sono un problema su Sencha Touch. Funziona perfettamente impeccabile. Il problema è qualsiasi versione corrente di Android 2,4 ecc. Translate3d è così instabile che è quasi inutilizzabile.
Dominic Watson,

0

Stiamo realizzando un'app Web per iOS / Android utilizzando il framework Sencha 2 e le prestazioni sono semplicemente orribili su Android rispetto a IOS. Sfortunatamente, ora sto dicendo ai miei clienti che se vogliono un'app su Android, diventano nativi o Titanium. Spero che possano apportare miglioramenti, ma non userò mai più Sencha se la piattaforma di destinazione è Android.

Cordiali saluti (il dispositivo di destinazione era Galaxy S3).


-1

Sencha Touch + Phonegap succhia su dispositivi Android. Specialmente se stai prendendo di mira la 2.2. Questa combinazione funziona bene per la categoria G3 / Note dei dispositivi Android. Dimentica Sencha Touch + Phonegap su Android se vuoi prestazioni e UI come native.

Sencha Touch + Phonegap è buono solo per colpire rapidamente i mercati su migliaia di dispositivi senza desiderare il pop-eye e prestazioni sorprendenti.

Se il tuo cliente è molto specifico sull'interfaccia utente e sulle prestazioni e insiste sulla soluzione ibrida, dagli solo la dichiarazione di non responsabilità e il documento da lui firmato che desidera l'app Sencha Touch + Phonegap.

Ho bruciato non solo le dita ma tutto il corpo con questa combinazione mortale su Android.


-1

La sua demo del lavello della cucina del novembre 2013 e Sencha 2 si blocca sul mio HTC Android 4.0, altri framework html5 mostrano una risposta migliore come XDK di Intel che utilizza jqMobi.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.