I'm just about to start a project using Sencha Touch, and just done some minor testing on my HTC desire device. All tutorial videos at Vimeo seems to be using an iPhone emulator running on a Mac. Im not sure how fast this emulator is compared to a real iPhone device or even an real Android device, but from what i have experienced, it seems that my HTC desire is not performing that nicly as this emulator.

All animations (sliding, fading, etc) seems abit laggy. You can easily notice that the FPS is much less than on the Vimeo videos.

HTC desire is a relativly new and modern Android 2.2 phone, running with decent hardware, so im wondering if Sencha Touch is "ready" for the Android platform.

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.
If this question can be reworded to fit the rules in the help center, please edit the question.

9 Answers
9

I'm working on several Sencha Touch Apps for Android using Phonegap and the results are dissapointing. The UI experience on iOS devices is vastly superior to Android.

On iOS devices, everything is smooth (carousels, sliders everything), but on Android, it's all a bit laggy and unresponsive.

Update I have done a bit more research and it seems that the iOS devices make use of GPU hardware acceleration to do the CSS transitions. On the Android devices this is all done by the CPU in addition to everything else it is already doing, thus we have a laggy look and feel to the UI. Sigh..... I guess it is much harder to implement hardware acceleration when the hardware varies so much.

Interestingly, I also read that even native Android apps (even the built in menu screens) do not use hardware acceleration. Only apps utilizing OpenGL will actually make use of the GPU.

I felt similar when testing Sencha Touch on my HTC Desire Z, but also felt that things felt more iPhone-ish than Android-ish. Another thing was that - while the percentage of people this applies to could be low - Sencha Touch no longer "works" for me on Android since I use Firefox Mobile, while Sencha Touch is Webkit-only.
–
zenzelezzJun 28 '11 at 17:58

1

It's been 2 years and Sencha touch is still dissapointing.
–
KugelSep 24 '13 at 23:19

Sencha Touch, the first HTML5 mobile JavaScript framework that allows you to develop mobile web apps that look and feel native on iPhone and Android

I think the reason it is so slow, is that the application is written using HTML5/javascript. Which, when you first think about it is pretty great, since it makes it easier to move across platforms. The downside is they they "look and feel" like native apps, but actually aren't. So, instead of native code executing quickly on your device, you have what is likely a wrapper for a browser, in which all code is just markup/js, which is slower. Think about using the cnn app vs going to cnn.com in the iphone web browser, it's essentially the same type of difference. This is likely what you're seeing, as a fast mac and an emulator could push a whole lot harder than a device (unless the emulator is throttled down to be as slow as the native device, which it might be...someone double check me). This problem will likely decrease as devices get faster, but it seems like it's just the nature of the technology and the tradeoff of being able to develop cross-platform using web technologies.

I have done a smallish benchmark of Sencha, JQuery mobile and dojox.mobile on Android emulator and phone using phonegap for a real-life app.
The bottomline is, that dojo easily outperforms both Sencha and JQuery which is both currently so sluggish as to be completely useless even on potent hardware.

So for now I'll personally go with dojo or go native.

Easy to try it out for yourself by taking either of the 'showcases' from the various frameworks and chrome2phone them to your own device.

You're the first to say that Dojo Mobile outperforms any of the other frameworks. Among all mobile app developers I know, Dojo is the running gag of a mobile framework gone wrong...
–
Steffen MüllerOct 15 '11 at 15:04

If you're talking only about performance, emulators should never be used. They're vastly different then running on the hardware.
–
MufasaMar 22 '12 at 4:00

I know this is an older question, however, I can confirm that we are also having performance issues running Sencha Touch 2.0 on Android. We've built a quite simple prototype with very simple card layouts and no custom images or css at all and still noticed a big amount of lag on every Android device we tested. At first, we thought we were violating some Sencha best practices, however after looking through the code and revising every area where we thought could be causing issues, we still could not get the responsiveness and smoothness anywhere near what we had hoped for.

On more of a side note, it seems that in general any non native method (esp JS/HTML/CSS based) for developing a mobile app will always have at least some small issues with performance. We are now considering using Titanium since it offers a single code base solution with performance much closer to native (since it technically is native).

Thanks for the tip. We haven't tested on any 4.0 devices. Judging from Dean Wild's answer, I figured GPU acceleration issues was probably the main culprit. The issue now is that even if we could get the performance up on 4.0 devices, they constitute such a small portion (~10%) of the android market that we will still probably end up going with a solution apart from Sencha.
–
EdgarJul 31 '12 at 18:11

We just launched a sencha touch app and there's some significant performance issues in Android compared to iOS. Take caution when trying to implement design-heavy interfaces.

Something i wish i knew 3 months ago: big upfront designs is bad in mobile. You really need an iterative approach between the design / dev team. CSS3 transitions are tough on Android: avoid lots of rounded corners, RGBA, gradients, text shadows. It will make your app have a seizure.

Keep the DOM as small as possible; destroy the panels as they are no longer used.

We've seen some strange draw() behaviors on Android, but that may simply come from the fact we're asking too much of the CPU. Only way to know is to profile all the code like a ninya

Sencha Touch builds its UI by converting Javascript objects into Dom Nodes and adding them into the Dom Tree. Chrome Tools will show that it ends up adding a relatively high number of DIVs and other DOM elements to the Dom tree. Wouldn't this have a detrimental effect on the performance.

Most of the Dom nodes in the Sencha UI are generated by Sencha API code and not from markup. If we write code to directly manipulate these Dom elements, can we be sure that it will not produce any side effects ?

I have posted this query on the official Sencha Forum today. Will update this answer with the response.

Can't see if you posted this in 2011/2012 but currently iPad/iPhone just aren't a problem on Sencha Touch. It runs absolutely flawless. The problem is any current version of Android 2,4 etc. translate3d is so choppy it's almost unusable.
–
Dominic WatsonDec 6 '12 at 12:53

We are doing a web app for iOS/Android using the Sencha 2 framework and the performance is just horrible on Android compared to IOS.
Unfortunately, I am now telling my clients that if they want an app on Android, either go native or Titanium. Hopefully they can make improvements, but I will never use Sencha again if the target platform is Android.