After years of delays, wrangling, and false starts, the HTML5 specification is finally shaping up. And, more important, HTML5-capable browsers are shipping. The tools needed to build HTML5 applications are farther behind, but they are coming along as well. And for some reason, there's a debate going on about whether or not HTML5 will replace other development technologies. I'm here to tell you that isn't likely, at least for the foreseeable future.
Developers are prone to an ailment I call the "one right way" disease. It's this need to believe that there is only one more tool, technology, or technique left to learn, and then they'll know all they ever need to know. A lot of the discussion around HTML5 has that one-right-way feel to it—that soon HTML5 will be the only relevant way to build applications.
I remember the same things being said about Java, dBase, heck, even C. We want to believe there's going to be one right way, and there never is.
HTML5 doesn't replace Silverlight or any other XAML-based development approach. HTML5 just brings HTML into the realm of possibility for playing a similar role to Silverlight. Both technologies have their advantages: With Silverlight, it's hard to argue about the power of C#, the features of the .NET Framework (even the reduced Silverlight one), and the flexibility of XAML. On the HTML5 side, no plug-ins are required to get rich interaction, and there's a wide diversity of browsers (albeit of varying quality) to run on. Both technologies will continue to advance, too, and will play important roles in new OSs and development platforms.
Will there be problems with HTML5? You bet! I expect to see more divergence in the implementations between the different browsers, continued challenges with tooling, and users continuing to demand newer, richer content that HTML5 will struggle to deliver. Will HTML5 overcome these problems? I'm sure it will—smart people will keep building clever software to make their platform deliver. And so will all the other platforms out there. HTML5 solves some problems and introduces some new problems, but it doesn't take away from the other great things that have come before it.
Richard Campbell is technical director of DevProConnections.