Nothing frustrates a professional developer more than hearing someone describe themselves as "an HTML programmer." Coding Web pages with markup has about as much to do with real programming as writing a menu has to do with cooking a meal. But you wouldn't think so to hear platform vendors tell it. Lately, HTML has been made out to be a preferred development tool for everything from smartphone and tablet apps to full-blown desktop applications.
Palm launched its WebOS platform claiming developers needed nothing more than Web standards to build apps for it. Microsoft did the same with Windows Phone 7. Google's Chrome browser has a "Web store" that lets you shop for desktop Web applications. But my jaw finally dropped when a recent demo showed how developers will be able to use HTML5 to write apps for Windows 8, leading panicked Windows developers to speculate that Microsoft was planning to drop support for Silverlight and even .Net itself.
[ Get your websites up to speed with HTML5 today using the techniques in InfoWorld's HTML5 Deep Dive PDF how-to report. | Also on InfoWorld: "HTML5 in the browser: Canvas, video, audio, and graphics" | "HTML5 in the browser: Local data storage | "HTML5 in the browser: HTML5 data communications." ]
Holy cow. Are we really so blinded by the HTML5 hype wagon that we'd believe Microsoft is ready to scupper core Windows APIs in favor of Web standards? It makes no sense. HTML5 is a fine tool and it will do great things for the Web, but lately it's been pushed to such lofty heights that it's plain ridiculous. As welcome as HTML5 is, there are plenty of reasons why nobody should consider it the universal development tool of choice. Here are some caveats to consider.
1. Good luck building anything with HTML alone
When anyone suggests that building apps is "as easy as building Web apps," what are they really saying? Web development has evolved into a complex, multitiered, multilanguage discipline. Often it's no picnic. Is that really the model we want to foist off on the next generation of developers?