JQuery Mobile 1.3.0 Released
jquerymobile.com
jquerymobile.com
I just went through the demo site on my iPad 3 and it just seems terrible - slow, improper rendering on a bunch of elements, stuttering transitions, etc.
Is anyone else finding this? Perhaps something is amiss on my iPad, but my impression is not great so far...
The intrinsic stylesheet, with its rounded corners, box shadows and text shadows results in extremely poor rendering performance in mobile browsers. This can be rectified with work, but it demonstrates to me that their contributors are not at all concerned with performance. Its markup is node heavy (a single LI turns in to 5 elements). Considerations are made for desktop browsers, yet it is proselytized as a mobile framework.
Developing with it is cumbersome; the selectors you thought would work do not, because your element has been munged and wrapped with numerous other elements. Triggering "create" more than once sometimes wraps elements a second time because some widgets don't check their classes properly to know they've already been marked up. The only way to know the widget has been created is either checking for known classes or attempting to access one of its methods in a try/catch.
Some widgets respond to "refresh" - some don't. Some parts of widgets respond to it, some don't. This makes partial view updates almost, or completely, impossible. I have been slowly replacing JQM's functionality with backbone views and it is working much, much better.
If you use jQuery Mobile in your mobile application, I advise you do so with an exit strategy in mind.
If jQuery Mobile wasn't backed by the jQuery project, nobody would use it because it isn't that good. It's slow, buggy, and broken. Maybe this release fixes that, but I doubt it.
Right now I'd do it like this:
Modernizr.load({
test: Modernizr.touch,
yep : ['jquery-mobile.js','mobile.js']
nope: ['jquery-ui.js','desktop.js']
});It seems like if you are not building with responsive HTM5/CSS3 you may as well use a JS library for better UI. These are the two biggest names I have seen and it is difficult figuring out if either one is worth the time.
[0] - http://www.jqtouch.com/
See: http://code.jquery.com/mobile/1.3.0/jquery.mobile.structure-...
With Jquery your app is an HTML page with your own markup which is then styled and functionality is added to your elements by the framework. I find it more designer-oriented compared to sencha.
With Sencha your app is usually just a single div and everything is done through JavaScript. I find it more programmer-oriented. It has been a couple of versions since I used sencha seriously but that is how it was at the time.
The reality was that though it helped while prototyping, it required workarounds to do anything more complex than the token tabs+list-view/sub-view style app, and we ended up disabling all of jQuery Mobile's transitions and effects in order to get it to be performant (BIG difference there!). In the end, I'd say the costs outweighed the benefits in our case.
Next time, I'll just use one of the more general-purpose JS frameworks and custom style the UI myself.
My experience with Sencha was completely different. It was very hard getting started as I had to relearn the Sencha/ExtJS way. I began to like the way each page/panel is "described" as JSON in a JS file. It's a completely different way of skinning a cat. Things like stores/models/views/controllers are baked into the framework. Support was absolutely abysmal. I think there were a couple of guys on their dev forums that actually knew their stuff. Quite a few "it works fine for me" type answers. Things blatantly left out of the docs which may be fine for normal users, but was extremely painful for a newbie.
In the end, I really liked the results from Sencha far more than anything I'd ever done in jQuery Mobile. I will say, my app in Sencha was extremely "templatey" which means it looked like a stock iPhone app... nothing custom at all.