Posted on by & filed under Mobile Development, Web Development.

Recently, I was talking with a buddy whose employer needed a mobile app designed and built. As he described the idea to me, it quickly became apparent that the hard work was in backend programming, network configuration, and integration with existing systems. The mobile client app itself (i.e., the part that would be installed locally on users phones) was pretty basic. It consisted of some input fields, some text, and a half dozen buttons. Maybe five or ten screens total.

Some Background

My friend works for a large manufacturer. They have lots of talented web geeks on staff, but no native mobile developers (e.g., iOS, Android, etc…). The app would have to run on iOS, Android, Windows Phone, and Blackberry to support a consumer product that is currently humming along nicely in over a million homes.

Given these factors, I suggested that they build the app with HTML for the following reasons:

  • Using HTML would allow them to leverage their existing web talent to design and build the core application and deploy to all four platforms (as well as many other platforms in the future).
  • Going pure native would result in development, debugging, and maintenance of four separate code bases.
  • Going pure native would make them dependent on external resources for ongoing updates and support.

Common Misconceptions

Much to my chagrin, my friend’s response was:

Yes, we considered HTML for the mobile app, but we ruled it out because we want the app to run offline.

This comment bummed me out for two reasons:

1) Web apps can run offline.

Web apps can, in fact, run offline. With HTML5, the Web’s dependency on a connection to the Internet has been broken. Web apps can now run offline in modern browsers thanks to HTML5 support for client-side storage of relational data, key/value data and static assets.

2) Web apps and HTML apps are not the same thing.

When I recommended to my friend that they build an “HTML app”, what he heard me say was to build a “Web app”. These are not the same thing but his confusion was understandable because the terms “Web app” and “HTML app” are often used interchangeably.

While it’s true that virtually all apps that reside on the Web are built with HTML, the converse is not true – i.e., that all apps built with HTML reside on the Web. HTML, CSS, and JavaScript are the UI building blocks of all sorts of native and embedded clients that are not available to users on the web (e.g., Adobe AIR, Qt, PhoneGap, local .html files, etc…).

To put it concisely: The Web is a place. HTML is a material.

Happily Ever After?

My friend is an open minded type of guy. Once I pointed out the offline capabilities of HTML and explained the distinction between HTML and the Web, he saw the advantage of the HTML approach and agreed that it was the best approach for the situation.

However, this isn’t how it usually goes. I often see HTML ruled out based on this sort of misinformation. The resulting waste of time, money, and effort drives me nuts. My hope is that this post and others like it will help dispel the confusion about what HTML5 is and what it’s capable of so IT leaders can make an informed decision about the best choice for their projects.

About the Author

Jonathan Stark is a mobile and web application consultant who the Wall Street Journal has called an expert on publishing desktop data to the web. He has written books on web application programming, is a tech editor for both php|architect and Advisor magazines, and is quoted in the media on internet and mobile lifestyle trends. Jonathan began his programming career more than 20 years ago on a Tandy TRS-80 and still thinks Zork was a sweet game. Areas of Expertise include: Mobile, iPhone, Android, HTML5, CSS, JavaScript, Consulting, Speaking, Programming, Training and Writing. http://twitter.com/jonathanstark

Check out Jonathan’s books on Safari Books Online:

 

You may also view the free webcast:

  • Build iPhone Apps with HTML, CSS, and JavaScript
 HTML, CSS, and JavaScript

You might also check out this video by Jonathan Stark and Brian LeRoux.

Cross-Platform Mobile Development with PhoneGap 
By Jonathan Stark, Brian LeRoux
Publisher: O’Reilly Media
Released: June 2010
Run time: 1 hour 2 minutes

Tags: android apps, brian leroux, free webcast, html5, iPhone development, jonathan stark, o'reilly media, Safari Books Online,

3 Responses to “Of Web Apps and HTML Apps by Jonathan Stark”

  1. Philip

    Interesting to see this on Safari Books, considering that the failure of the first “To Go” iPad App was blamed on the use of Phone Gap, instead of a native implementation…