Mobile Apps in HTML
Mobile Development
Saturday, 27 March 2010 00:46

Mobile development traditionally requires that you develop custom applications for each device that you want to support. For many apps, there is now a better way. You can develop your apps just once, and do so in plain old HTML, CSS and JavaScript. This means huge development cost savings and fast development time. I'll share some links to get you started and a few thoughts of my own.

What makes all of this possible?

  • The latest smart phones have excellent built-in browsers. So, step 1 is just making a website that looks good at smaller resolutions (such as 320x460 for the iPhone).
  • HTML5, which is supported by most smart phones (such as iPhone, Android and Blackberry), allows your website to work offline, as well as providing an improved rich user experience.
  • PhoneGap allows you to wrap it all up in native applications for many devices. This allows you distribute your app in various application stores. PhoneGap also provides JavaScript access to some native device capabilities such as GPS.

To get started, I recommend How to Make an HTML5 iPhone App from Six Revisions. I was able to read this tutorial and implement a proof of concept application in about 20 minutes.

Considerations

  • You can only access native device features that are exposed via PhoneGap. Therefore, it is possible that you won't be able to access a feature that you need.
  • High-performance apps are probably not good candidates for an HTML5 app. Although you can do some cool stuff with HTML5 Canvas, the performance is not good enough for anything serious, especially 3D gaming.
  • I can't find anything on PhoneGap's website explaining how you could restrict use of your app to paying customers. Your app will essentially be a public website wrapped in a native application, so who's to stop someone from just navigating to the website directly? You might require a login to use your app or perhaps there is a solution for this that I'm not aware of. So, if requiring payment to use your app is important, you'll need to research into this before considering an HTML5 app.

blog comments powered by Disqus