As we progress through the webapps project there is an astounding see of change coming to HTML5 Apps near you.
If you are starting a new project, I would recommend that you think about some of the ideas I am laying out below.
Apps will have different characteristics than webapps. You generally will not just want to layer css ontop of your page, and consider it mobile enabled and done.
You will have to design a completely different set of views for your mobile app than your desktop site, and possibly even your tablet as each platform will offer different capabilities that you’ll want to take advantage off. Your layouts will accomodate different styles, and furthermore different functionality.
Redirects: Another thing to consider is that an App doesn’t allow navigation off of the page, so you should think about that and what it means for your app. You wouldn’t want to redirect your users off of your domain.
Apps should be targeted / focused towards doing one thing well, and bubbling that information up to the user.
Popups: These are a web browser concept, that doesn’t translate into the App experience, so expect that popups won’t work.
So if you want a kick ass App experience, plan on having completely different views for different device sizes. The good news is everyone will be writing the same language, and basically using the same stylesheets !
There must be a ton of user UI tips, for writing kick ass mobile /tablet apps, if you have any add it to the conversation
So far I haven’t seen too much change in this area, the cloud is pretty much a given at this point, at least for a startup.
The time for the Android / IoS developer is over, don’t do it, don’t fragment your infrastructure, your support, your ability to ship early and often.. It’s just not worth it. If you are a startup and anyone is telling you to go native, i would seriously get second / third opinions.
Having said that using Phonegap or something of the like is a good idea to help bridge some of the functionality gaps.
The advantage of being small is that you can move quickly. Try doing that with an android release , iphone release, and website release.. All with differing capabilities / code bases, and then dealing with android fragmentation. It will make you slow, and slow is bad….