PhoneGap 1.4 wrapping Sencha Touch 2.X – What about performance?

This question, asked on, is really interesting and covers an important area in cross-platform mobile development: performance optimization


I’m building a multiplatform tablet app wrapping it with Phonegap 1.4 using just its webview, then I work my magic with the Sencha Touch 2 framework. By multiplatform I mean iOS 5.X+ and Android 3.0+ (for now).

This app is working great so far, all its features work on both systems but… On the Android tablet (Samsung GalaxyTab) its really slow. What’s happening? Can I do something about it, or its just android’s limit?



I’ve tested many of my Sencha Touch 2 applications on Samsung GalaxyTab and the performance is really terrible. There’s a fact (which maybe a part of actual reason) that, iOS does many pre-process and calculation before rendering to make it seems smoother to user’s look and feel, while Android tends to render & process simultaneously on the go.

In general, it could be say that, to every cross-platform mobile apps built on Javascript, like Sencha Touch, iOS performance is significantly better than Android. However, Sencha Touch dev team is trying their best to improve this, hopefully it would be better in next releases. You could see this article about iOS & Android devices performance comparison.

PS: While it’s much relevant to the OS’s limit, you can also optimize your app to make it perform better on Android devices. To my experience, the best practice is:

Do NOT use CSS3 too much.
Keep your DOM as minimal as possible.

For more details, you can refer to this topic on


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: