Making Sense of HTML5 in Mobile
These days, HTML5 is being talked about a lot and even considered the next big thing no matter what kind of software applications one refers to. There’s certainly some common ground between HTML5 and mobile, to build effective solutions. However, the extent of common ground and the particulars on viable solutions ought to be figured out on a case-by-case basis.
Mobile is a world of tradeoffs and requires a deep understanding of a particular business’ needs before blindly giving marching orders to anyone. Nonetheless, it is fairly common to read such marching orders about HTML5. Not that any blog, expert or guru is right by the sole force of their keyboard, however, when the speaking volume is loud and the sound is continuous, the risk is: you might take what you hear for something dangerously close to the absolute truth; or worse yet, take what you hear without due forethought and critical analysis.
The fundamental point is that HTML5 has the potential for bringing huge benefits to web and mobile development. The corollary is: to take advantage of HTML5 features an HTML5-compliant browser is required.
Using HTML5 for optimizing user experience is probably easier for mobile than for desktop browsing scenarios. Mobile browsers (particularly those available or installable on smartphones) are all great HTML5 browsers, at least for the basic HTML5 features such as CSS3, local storage, and new markup elements. This means that you can easily write website versions optimized for smartphone devices, which may be the only subset of mobile devices most people are really interested in. To support HTML5 in desktop versions of websites you also need to fork on browsers’ capabilities. Some libraries like Modernizr help with this task, but it’s still a point you can’t ignore.
In mobile web development you typically create different views for a few classes of devices. At the very minimum, you have one view for legacy devices and another for smartphones. Needless to say, in the former HTML5 is not supported; in the latter you can safely assume full support, at least for common HTML5 features.
In-browser support for HTML5 means that you can package up client-side websites as native applications and run them from within a full-screen web view component. This approach—made popular by the PhoneGap framework—seems to be classic squaring of the (mobile) circle. HTML5 brings the very attractive promise of letting you write a single codebase and compile it to a variety of platforms.
Is any of it true, false, partially true, or partially false?
The truth is, no one knows the answer. It could be value in the infinite interval between true and false. No guru can claim to have the answer you are looking for.
Here’s what we do know:
- Write optimized versions of sites for smartphones and tablets
- Write native applications around a bundled web client that runs within the browser
- Write small and very specific portions of the user interface of a mobile app that is displayed through a native web view widget
HTML5 can be very helpful, though, hardly the answer for everybody or every mobile project.