I talked up JavaScript a lot in my last blog entry, but the true hero in my time working with Windows 8 has been HTML5. JavaScript has been around for a while, even if it is somewhat improved for use with Windows 8, but HTML5 is relatively new. I’d never had any experience with HTML5 before starting work on my app, although I spent plenty of time coding previous versions of HTML. I’m still not truly well-versed in HTML5, even after spending time developing my app; I didn’t create much with it beyond a layout. Where HTML5 really shined, for me, was in other developers’ work.
The amount of resources available for HTML5 is staggering, and they couldn’t be easier to use. I came into my app knowing that, at some point, I would have to display data in various charts and graphs. At first, I was worried that I would have to create my own solution; then I performed a web search. Not much later, I had fully functional and customizable graphs, with advanced controls like zooming in on time frames. I literally dropped one open-source JavaScript file into my project, and I gained access to all the graphing options I could want, all rendered in beautiful HTML5.
HTML5’s only benefits aren’t the tools that other developers make, though. App development in JavaScript wouldn’t be possible without some of HTML5’s more basic improvements. The best example by far that I’ve made use of is Indexed DB. I began my app’s development without any real knowledge of databases, and created it with the intention of using flat data files. This became a real issue when the amount of data I was juggling increased to an unmanageable amount, and I was urged to look for a better solution. IndexedDB came up early on in my search, and it was the only thing I needed.
Indexed DB is a database platform that is built-in to HTML5, and it’s meant to work on all browsers as a replacement for WebSQL. Frankly, it’s not quite there yet; I had issues trying to learn Indexed DB using in-browser tools. However, it runs incredibly well in a Windows 8 app. I was able to completely switch my app’s functionality over to Indexed DB in less than a day, and I saw a marked improvement in the speed of my data handling. Although Indexed DB isn’t directly tied to HTML5, it is part of the overall push for better standards in web development that goes hand-in-hand with HTML5, and it’s hard to find it referenced without a mention of HTML5.
It’s nice enough to be working with a platform that has plenty of open-source tools already available for use, but the fact that HTML5 is being pushed as an overall standard is a huge plus. It’s not just that Windows 8 apps developed in Javascript and HTML5 have a lot of power behind them; they also have a lot of potential.