Mobile Web Apps Still Have Some Major Hurdles
reefpoints.dockyard.com
reefpoints.dockyard.com
I've worked with jQuery Mobile and I need to disagree. jQuery Mobile doesn't add much to mobile web app development. It's just a UI toolkit that offers boilerplate styling and page navigation/transitions.
I'm not trying to take away from the usefulness of jQuery Mobile for some people, but it doesn't bring a lot of excitement to mobile web.
You touched on the real watershed event in mobile web development though --- which will be hardware accelerated WebGL and hardware accelerated CSS3 animations. When that happens, it'll be a whole new world for mobile web apps.
Developing more sophisticated mobile applications with hardware accelerated canvas and CSS is going to be awesome and definitely will allow mobile web apps to compete directly with native apps. But the barrier for entry will be much higher.
(Sure, it is not a popular platform, but just pointing it out.)
Hmm, I think you've glossed over the rather large set of browser quirks that the library addresses for you. Here are few choice examples off the top of my head:
1. Touch and Click events: Different platforms and hardware will fire different events. The vmouse additions unify the two possible event sources to make handling easier for developers
2. (push|replace)State: iOS 4.x and some desktop browsers have critical bugs in their implementations that are handled for you where possible.
3. Orientation values on orientationchange events: Different browser implementations fire this event at different times relative to the actual screen size. It doesn't solve the timing issue but it does provide the right orientation value for use regardless.
If you're only implementing for iOS you might be right, but if you have a large set of target devices it does provide a lot of value.
[EDIT] I should point out that I agree completely with the article. I'm actually rather tired of people selling html5 as the end-all solution for mobile app development right now. There are a lot of hurdles yet to overcome.
It'll be a cat and mouse game for years to come.
This is the same battle we had on the desk tops in the 90s.
This time I don't think it's going to take the web a decade to catch up. Hopefully.
I really think that HTML5/Javascript is going to replace most native apps on mobile. It's not going to happen tomorrow or next year... but four years? Three? It seems like that could be possible.
note: there are a bunch of apps that I've come across that are just 4 views of static content and no interactive functionality. those should definitely stay html5/javascript.
Be fair, it's probably the latter.
I really really wish I used Sencha Touch.
What I would like to see in jQueryMobile is a way to pre-enhance my multi-page applications. Then you can turn off dynamic page enhancements and everything should be fine.
What i would really like to see is a library that does more or less the same thing that jQuery ('desktop') does for mobile: provide cross-browser library functions that you need all the time, and automatically picks the best option on that platform (such as CSS3 transforms for animations).
however, look at the google plus mobile site for a nearly flawless mobile experience. it's most certainly possible. to this end, i have a lot of faith in jquery mobile. if it is possible, they are one of the most qualified teams to deliver it.
that is of course, not to say that mobile web doesn't have it's hurdles.
A nice alternative suggested in these comments is Spine Mobile http://spinejs.com/mobile/ I've been looking through the docs and I'm impressed. Our next project will give this a spin.
i don't think it's true to say scrollview and transitions are a lack of hardware support. again, on my iphone 3gs and 4s the google+ app is flawless in both of these areas. jquery mobile is subpar. the scrollview is obviously forgivable since it is still experimental. for what it's worth, i still think it's a far superior choice to iscroll.
the first issue i'll bring up is their fixed header and footer support. i think it's a decent solution for the tools they have available, but i'd never use it myself with it's current behavior. i do realize this is probably a consequence of scrollview support though.
another problem they've yet to solve is url bars dropping down while navigation. i understand given the circumstances, this is a difficult problem to solve without going against jqm's principles.
i am also not particularly fond of how their active states trigger on scroll, this is obviously not desirable.
my argument is not that there is much that is missing from jquery mobile, like i said i have a lot of faith in the project. stuff like url bars, active states, and page transitions may only be the last 10%- but that last 10% is crucial for the final polish of a real release.
My original question was poorly formed. I only meant to imply that transition quality is mostly a function of hardware acceleratio. Scrolling isn't necessarily, though it can play a roll there through hacks like translate3d. Both the 3gs and 4s have hardware accelerated transforms, which is why transitions look so much better on an iPhone. Additionally if we could target just the iPhone it would make our transitions nearly flawless, but getting them to work in as many places as possible makes this difficult.
Headers and footers are a pain point right now without a doubt, but there are specific reasons we don't use scrollviews (mostly due to the fact the returning false on touchstart in Android breaks inputs).
In any case, I'd just like to thank you again for taking the time to respond, and let you know that we are acutely aware of all of these issues.
(disclaimer - I'm the author)
Adobe AIR works right now.
I work in web development with most of my clients needing simple brochure sites with a small minority wanting a web application. From my experience I think that people really underestimate the power of a web app. Even my brochureware clients ask if they need a mobile app and there are tons more who are potentially flooding app stores with unnecessary app like that. My one web app client asked about a mobile app and I said he didn't need one. It's if all you want to do is CRUD it's not worth the time, money or energy. So yeah, the post is right but as usual, I worry about the people who read this who may believe they need a native app when really they need a few media queries.