Bagaimana kinerja Sencha Touch di Android dalam praktik? [Tutup]

17

Saya baru akan memulai proyek menggunakan Sencha Touch, dan baru saja melakukan beberapa pengujian kecil pada perangkat keinginan HTC saya. Semua video tutorial di Vimeo tampaknya menggunakan emulator iPhone yang berjalan di Mac. Saya tidak yakin seberapa cepat emulator ini dibandingkan dengan perangkat iPhone nyata atau bahkan perangkat Android nyata, tetapi dari apa yang saya alami, tampaknya keinginan HTC saya tidak berkinerja sebagus emulator ini.

Semua animasi (sliding, fading, dll) tampaknya agak lambat. Anda dapat dengan mudah melihat bahwa FPS jauh lebih sedikit daripada video Vimeo.

Keinginan HTC adalah ponsel Android 2.2 yang relatif baru dan modern, berjalan dengan perangkat keras yang layak, jadi saya bertanya-tanya apakah Sencha Touch "siap" untuk platform Android.

Adakah yang punya pengalaman praktis dengan Android dan Sencha Touch?


sumber

Jawaban:

19

Saya sedang mengerjakan beberapa Aplikasi Sencha Touch untuk Android menggunakan Phonegap dan hasilnya mengecewakan. Pengalaman UI pada perangkat iOS jauh lebih unggul dari Android.

Pada perangkat iOS, semuanya mulus (komidi putar, geser segalanya), tetapi di Android, semuanya agak lamban dan tidak responsif.

Pembaruan Saya telah melakukan sedikit riset lebih lanjut dan tampaknya perangkat iOS memanfaatkan akselerasi perangkat keras GPU untuk melakukan transisi CSS. Pada perangkat Android, ini semua dilakukan oleh CPU sebagai tambahan dari semua hal lain yang sudah dilakukan, sehingga kami memiliki tampilan dan nuansa yang lamban untuk UI. Sigh ..... Saya kira jauh lebih sulit untuk mengimplementasikan akselerasi perangkat keras ketika perangkat kerasnya sangat bervariasi.

Menariknya, saya juga membaca bahwa bahkan aplikasi Android asli (bahkan layar menu bawaan) tidak menggunakan akselerasi perangkat keras. Hanya aplikasi yang menggunakan OpenGL yang akan menggunakan GPU.

Dean Wild
sumber
Saya merasa serupa ketika menguji Sencha Touch pada HTC Desire Z saya, tetapi juga merasa bahwa hal-hal terasa lebih iPhone-ish daripada Android-ish. Hal lain adalah bahwa - walaupun persentase orang yang berlaku rendah - Sencha Touch tidak lagi "berfungsi" untuk saya di Android karena saya menggunakan Firefox Mobile, sedangkan Sencha Touch hanya untuk Webkit.
zenzelezz
2
Sudah 2 tahun dan sentuhan Sencha masih mengecewakan.
Kugel
masih menyebalkan 😡 sentuhan sencha adalah omong kosong yang tidak berharga! Ada begitu banyak hal yang mereka katakan tetapi tidak satu hal pun yang mereka lakukan dengan benar ... tanyakan saja apakah mereka mendukung fitur aksesibilitas android atau bahkan iOS dan menonton mereka menggeliat!
Nav
3

Dari sencha.com :

Sencha Touch, kerangka kerja JavaScript seluler HTML5 pertama yang memungkinkan Anda mengembangkan aplikasi web seluler yang terlihat dan terasa asli di iPhone dan Android

Saya pikir alasannya sangat lambat, adalah bahwa aplikasi ini ditulis menggunakan HTML5 / javascript. Yang mana, ketika Anda pertama kali memikirkannya cukup hebat, karena membuatnya lebih mudah untuk bergerak melintasi platform. Kelemahannya adalah mereka "terlihat dan terasa" seperti aplikasi asli, tetapi sebenarnya tidak. Jadi, alih-alih kode asli dieksekusi dengan cepat di perangkat Anda, Anda memiliki apa yang kemungkinan menjadi pembungkus untuk browser, di mana semua kode hanya markup / js, yang lebih lambat. Pikirkan tentang menggunakan aplikasi cnn vs pergi ke cnn.com di peramban web iphone, pada dasarnya jenis perbedaan yang sama. Ini mungkin apa yang Anda lihat, karena mac cepat dan emulator dapat mendorong jauh lebih keras daripada perangkat (kecuali emulator diperlambat menjadi selambat perangkat asli, yang mungkin ... seseorang ganda) Periksa aku).

Ryan Hayes
sumber
1

Saya telah melakukan tolok ukur yang lebih kecil dari Sencha, JQuery mobile dan dojox.mobile pada Android emulator dan ponsel menggunakan phonegap untuk aplikasi kehidupan nyata. Intinya adalah, dojo dengan mudah mengungguli Sencha dan JQuery yang keduanya saat ini begitu lamban sehingga sama sekali tidak berguna bahkan pada perangkat keras yang kuat.

Jadi untuk sekarang saya akan secara pribadi pergi dengan dojo atau pergi asli.

Mudah untuk mencobanya sendiri dengan mengambil salah satu dari 'showcases' dari berbagai kerangka kerja dan chrome2phone mereka ke perangkat Anda sendiri.

Psimon
sumber
1
Anda yang pertama mengatakan bahwa Dojo Mobile mengungguli salah satu kerangka kerja lainnya. Di antara semua pengembang aplikasi seluler yang saya tahu, Dojo adalah lelucon dari kerangka kerja seluler yang salah ...
Steffen Müller
Jika Anda hanya berbicara tentang kinerja, emulator tidak boleh digunakan. Mereka sangat berbeda kemudian berjalan pada perangkat keras.
Mufasa
1

Saya tahu ini adalah pertanyaan yang lebih lama, namun, saya dapat mengonfirmasi bahwa kami juga mengalami masalah kinerja yang menjalankan Sencha Touch 2.0 di Android. Kami telah membangun prototipe yang cukup sederhana dengan tata letak kartu yang sangat sederhana dan tidak ada gambar khusus atau css sama sekali dan masih memperhatikan sejumlah besar kelambatan pada setiap perangkat Android yang kami uji. Pada awalnya, kami pikir kami melanggar beberapa praktik terbaik Sencha, namun setelah melihat kode dan merevisi setiap area di mana kami pikir dapat menyebabkan masalah, kami masih tidak bisa mendapatkan respons dan kelancaran di dekat apa yang kami harapkan.

Sebagai tambahan, tampaknya secara umum setiap metode non-asli (khususnya berbasis JS / HTML / CSS) untuk mengembangkan aplikasi seluler akan selalu memiliki setidaknya beberapa masalah kecil dengan kinerja. Kami sekarang mempertimbangkan untuk menggunakan Titanium karena ia menawarkan solusi basis kode tunggal dengan kinerja yang lebih dekat ke asli (karena secara teknis adalah asli).

paz
sumber
1
Karena penasaran, apakah Anda sudah mencoba perangkat Android 4.0? Karena mereka memiliki akselerasi GPU yang tersedia, itu mungkin bekerja lebih baik. Cara mengaktifkan: developer.android.com/guide/topics/graphics/hardware-accel.html
Drake Clarris
1
Terima kasih atas tipnya. Kami belum menguji pada perangkat 4.0 apa pun. Menilai dari jawaban Dean Wild, saya pikir masalah akselerasi GPU mungkin adalah penyebab utamanya. Masalahnya sekarang adalah bahwa bahkan jika kita bisa meningkatkan kinerja pada perangkat 4.0, mereka merupakan bagian kecil (~ 10%) dari pasar android yang kita mungkin masih akan berakhir dengan solusi terpisah dari Sencha.
paz
tidak peduli apa yang Anda lakukan dengan sencha itu akan selalu lambat ... alasannya adalah struktur dom bersarang mereka yang tidak cocok untuk browser apa pun biarkan saja browser seluler.
Nav
0

Kami baru saja meluncurkan aplikasi sencha touch dan ada beberapa masalah kinerja yang signifikan di Android dibandingkan dengan iOS. Berhati-hatilah saat mencoba mengimplementasikan antarmuka desain-berat.

Sesuatu yang saya harap saya tahu 3 bulan lalu: desain muka yang besar buruk di ponsel. Anda benar-benar membutuhkan pendekatan berulang antara tim desain / pengembang. Transisi CSS3 sulit untuk Android: hindari banyak sudut membulat, RGBA, gradien, bayangan teks. Ini akan membuat aplikasi Anda mengalami kejang.

Pertahankan DOM sekecil mungkin; hancurkan panel karena tidak lagi digunakan.

Kami telah melihat beberapa perilaku menggambar () aneh di Android, tetapi itu mungkin hanya berasal dari kenyataan bahwa kami meminta terlalu banyak CPU. Satu-satunya cara untuk mengetahui adalah profil semua kode seperti ninya

mischizzle
sumber
0

Silakan merujuk ke artikel ini oleh tim Teknik LinkedLN tentang bagaimana mereka meningkatkan kinerja aplikasi HTML5 mereka dengan tangan coding Manipulasi DOM:

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

Dalam konteks artikel ini saya melihat dua masalah dengan Sencha Touch:

  1. Sencha Touch membangun UI-nya dengan mengubah objek Javascript menjadi Dom Nodes dan menambahkannya ke Dom Tree. Alat Chrome akan menunjukkan bahwa ia akhirnya menambahkan jumlah DIV dan elemen DOM lainnya yang relatif tinggi ke pohon Dom. Bukankah ini akan berdampak buruk pada kinerja.

  2. Sebagian besar node Dom di Sencha UI dihasilkan oleh kode Sencha API dan bukan dari markup. Jika kita menulis kode untuk secara langsung memanipulasi elemen Dom ini, dapatkah kita memastikan bahwa itu tidak akan menghasilkan efek samping?

Saya telah memposting pertanyaan ini di Forum Sencha resmi hari ini. Akan memperbarui jawaban ini dengan tanggapannya.

Nikhil Katre
sumber
1
Tidak dapat melihat apakah Anda mengeposkan ini pada 2011/2012 tetapi saat ini iPad / iPhone tidak menjadi masalah di Sencha Touch. Ini berjalan sangat sempurna. Masalahnya adalah versi Android 2.4 saat ini dll. Translate3d begitu berombak sehingga hampir tidak dapat digunakan.
Dominic Watson
0

Kami sedang melakukan aplikasi web untuk iOS / Android menggunakan kerangka kerja Sencha 2 dan kinerjanya hanya mengerikan di Android dibandingkan dengan iOS. Sayangnya, saya sekarang memberi tahu klien saya bahwa jika mereka menginginkan aplikasi di Android, baik yang asli atau Titanium. Semoga mereka bisa melakukan perbaikan, tapi saya tidak akan pernah menggunakan Sencha lagi jika platform targetnya adalah Android.

FYI (perangkat target adalah Galaxy S3).

29er
sumber
-1

Sencha Touch + Phonegap Sucks pada perangkat Android. Khususnya jika Anda menargetkan 2.2 dan seterusnya. Kombinasi ini berfungsi baik untuk kategori G3 / Note pada perangkat android. Lupakan Sencha Touch + Phonegap di Android jika Anda ingin kinerja dan UI seperti asli.

Sencha Touch + Phonegap hanya bagus untuk dengan cepat menghantam pasar di ribuan perangkat tanpa berharap penglihatan & kinerja luar biasa.

JIKA klien Anda sangat spesifik tentang UI dan Kinerja dan bersikeras pada solusi Hybrid, cukup beri dia penafian dan kertas yang ditandatangani olehnya bahwa ia menginginkan aplikasi Sencha Touch + Phonegap.

Saya telah membakar tidak hanya jari saya tetapi seluruh tubuh dengan kombo mematikan ini di Android.

ashu
sumber
-1

Demo November 2013 dan Sencha 2 kitchen sink di HTC Android 4.0, kerangka kerja HTML5 lainnya menunjukkan respons yang lebih baik seperti intel XDK yang menggunakan jqMobi.

Pasifik Selatan
sumber