HTML5 and jQuery

The last time I was unemployed, I put together Fav.Premo.biz.  Unemployed again, I’ve dipped into code all over the various projects I’ve got up and running.

With the exception of the main site (i.e., the page you’re reading), I’ve decided to change all of my sites from HTML4 or XHTML to HTML5.  In addition, I’ve decided that now is a good time to stop using Prototype and script.aculo.us and start using jQuery.

I’ve decided to move to HTML5 for two main reasons.  First, HTML5 is more elegant than HTML 4.x or XHTML 1.x.  I love elegance when it comes to programming.  I find that the criteria which determines what is and is not valid HTML5 code is less draconian than for HTML4.x and XHTML1.x.  Also, HTML5 introduces new features that allow developers to add greater functionality with hand-written markup.  Greater flexibility and greater functionality sound pretty elegant to me.  Second, due to these new features, HTML5 provides for greater use of open source technologies.  The long and short of my feelings in this area is that HTML5 gets us one step close to a world without Adobe Flash.  The <audio> and <video> tags allow developers to add rich content to sites without relying on a closed source, proprietary plugin that is a resource hog and a security risk.  Who couldn’t love code that’s more elegant combined with a better user experience?

I’ve decided to move to jQuery because jQuery is updated far more frequently than the JavaScript frameworks I’ve been using up until now — Prototype and script.aculo.us.  For example, jQuery 1.4 was released in January 2010 and jQuery 1.3 was released in January 2009.  When it comes to Prototype’s progression over that time, I can only estimate that it’s seen two bug releases (0.0.0.x) and one maintenance release (0.0.x).  Although putting out regular updates to a code base may be virtuous, it’s not the whole story.  Every time jQuery is updated, its release notes contain graphs showing speed improvements for all major browsers.  Speed improvements on an annual basis.  This just isn’t happening in Prototype or script.aculo.us.

I have a few public-facing sites that use JavaScript here and there, but only one makes heavy use of it: Fav.Premo.biz.  Since modifying code to use both HTML5 and jQuery would be painful at best, I’m going to rewrite Fav.Premo.biz using these new technologies.  It’ll be an undertaking, and it might not be finished soon, but it should be interesting.