Although we are new to this technology, we are working on a HTML5 mobile app nowadays with sencha-touch and some other js libs like i18n.
The problems are that:
- No matter how much we try to tune the performance, it feels kinda slow.
- Every time we change to another page, when the browsers are loading the next page, there is a ugly blank-paged interval.
We think we might miss some structural and best practices here with HTML5 mobile app. We speculate that we are still treating HTML5 mobile app with our web logic.
That’s why I would like to ask:
- Is it okay to add in some other js except for sencha-touch? Is it the thing that drags the speed here?
- Is a multi-paged mobile app a good practice? Or should we build everything within the same html page?
- Is there a way to pre-load everything so that the page change can be faster?
Thanks
Sencha touch has good performance, also they promise even greater performance in the upcoming (around October 26th) sencha touch 2 (http://www.sencha.com/blog/sencha-touch-2-what-to-expect). So the sencha touch as a JS library is well optimized. Maybe you are app is not well optimized or something else is slowing it down. All in all, my point is that sencha touch as a JS library is arguably as good as JS library could get, so it isn’t the problem at all.
All JS applications should be one page HTML. There are ways how to maintain the browser history and state, if that’s your concern.
There are couple of ways to pre-load and cache everything, but if you do the one page HTML web app then you don’t really have to.
So my advice is to stick with sencha touch, at least until the sencha touch 2 comes out, and see if the performance issues are solved, before moving to other solutions. Also first thing you need to do is to make it a single HTML page app and do some testing and measuring to see what is slowing the app down.