When Microsoft gave its first public preview of Windows 8 in 2011, the now-President of Windows Julie Larson-Green sent shockwaves through the Windows development world with just four words: “our new development platform.” The reason? That platform was based on HTML5 and Javascript.
To casual observers, that makes sense. HTML5 is roaring to the forefront of development far faster than industry predictions. We even saw some commercial proof of the platform’s “Write Once, Run Anywhere” promise in 2012. To seasoned Windows developers, though – particularly those building enterprise apps in dedicated Microsoft shops – it crushed their world. After spending decades learning to use different languages and development environments – most recently Microsoft’s proprietary but feature-rich WPF and Silverlight – the thought of jumping ship for HTML5 was devastating.
Microsoft has backpedaled in a number of forums since then, assuring developers that while HTML5 is the new standard for cross-platform apps, other tools will continue to work for Windows-only development. But the writing is on the wall. HTML5 is the future, so if you develop enterprise Windows applications, should you bite the bullet and make the move?
Will HTML5 Save Enterprises Money?
The cost argument will rage for some time. One camp holds that HTML / Javascript developers are cheap and plentiful, so HTML5 is necessarily cheaper. The other side believes that instability of the HTML5 spec (only recently finalized and not scheduled for Recommendation status until 2014) compared to the more mature development environments available for “traditional” Windows development means developers can build complex applications faster, without worrying about tweaking things down the road.
The CTO of one small software vendor saw value in both views: “For our simpler apps, I can hire kids with good Javascript skills and let them learn the Windows specifics on the job. For really complex applications with tens of thousands of lines of code or more, It would be dumb to break what already works.” He added that his more experienced Windows developers are mentoring the generally younger HTML developers to cross-pollinate knowledge. “Ultimately, each tool will have a use, for at least the next several years, and I want all of my devs to be able to pick the one that makes sense.”
“Serious Coders” vs. “Script Kiddies”
His biggest problem so far is a reluctance to embrace change. “I have a couple 28-year-olds who act like grumpy old men, afraid that the ‘script kiddies’ without any real computer science knowledge are moving in on their turf. To them, HTML5 cheapens the application, dumbs down their resumes, and opens the door to a whole lot of bad coding from people who know how to make Web pages, but don’t have any formal experience with structured coding.”
The last point is probably the most valid. Knowing HTML and some Javascript isn’t a particularly high bar, so enterprises need to be diligent about hiring and mentoring. If you pull developers off of Craigslist for $15 an hour, you’re not going to get quality enterprise work. Even well-established Web developers coming from a LAMP background may not have the right experience. A mentoring program using Agile or another pair-programming methodology – can be a great way to ease Web developers into a more formal programing environment.
What Do Developers Want?
One long-time C++ and (more recently) C# developer wasn’t excited about the rise of HTMLt5: “Eh. I get what they’re doing. It’s all about the portability of UI. They’ve been on that path for a long time, but whatever. The thing is, developers don’t want to learn a new markup when Microsoft has already forced them to learn one recently. WPF / Silverlight is crap, but so was Winforms. If they’d skipped WPF, they’d probably have more success trying to get people to shift to HTML5… I’ll go where the money is, though.”
That last point is telling. Developers will follow the work, they really don’t have a choice. And that it won’t be long before everyone will be doing at least some work in HTML5. Smart enterprises will be begin mixing in some of that work now makes sense, but there’s not yet good reasons for a complete shift.