A Very Brief Overview of HTML5 Frameworks

I had the recent luxury of looking over various HTML5 frameworks in both a professional and personal environment. Keeping up on web the latest and greatest web development technologies is often a daunting task, and sifting through the world of ANYTHING HTML5 can be plagued with “analysis paralysis”: There is just too much out there that if you don’t jump in feet first you’ll still be doggy paddling when the sharks come.

The three primary frameworks that I’ll take a look at are: Ext JS 4, JavascriptMVC and Backbone.js. I am going to cover them by their descending levels of complexity and ultimate placement on the podium (there is a correlation, and if you wish you can jump to the final section to read about why I think Backbone.js is an excellent option). I’ll try to keep my overviews to a paragraph, you are all free to do the hoof work and research each one (and others) but I said this was a very brief¬†overview.

Ext JS 4

Ext JS 4 is supposedly the Flex killer. The does-it-all, has-it-all, magic bean, and it is. Maybe. Especially if you are looking to create an application that when you power it up looks like, acts like and smells like Ext JS 4. The truth of the matter is: it is too heavy for its own good. At least for any purpose I would ever need or could foresee using at a professional and personal level. As a personal preference I like starting from the ground up, I don’t like having to develop around a mountain when all I need is a quick tunnel. From looking at Ext JS 4, I honestly believe there is no “easy solution” available. There is no quick and clean way from point A to point B. You have to use all of there stuff, you have to use their proprietary object markup to define everything you want to display. If you don’t need it, too bad, Ext JS 4 has it.

JavascriptMVC

JavascriptMVC was my underdog, my personal selection when I first started looking at the trifecta. It was cool. It was hip. Trendy even. It was all inclusive, similar to Ext JS 4, except it wasn’t designed by committee, it didn’t have everything you could ever want, just everything that you need to get your feet off the ground: MVC, Documentation, Testing. Truthfully I set it up and started to really use it. Some quirks really started to show through, and without delving into specifics, lets just say: if JavascriptMVC has what you need, then you can probably get away with using it. Integration with other software may prove difficult, and it didn’t end up giving me the warm fuzzies that I needed.

Backbone.js

And on to the winner. The lean, mean, fighting machine. The almost nothing, single file, does only what it is supposed to answer. After investigating the prior two, looking and Backbone.js was a godsend and reminded me what the JavaScript, HTML5, and the Web is all about, for me at least: extensible. Yes, I had to download a module loader (require.js), and yes, I had to find my own documentation system (JSDoc Toolkit 2.4.0, I was having issues with JSDoc 3, and the older version did everything I needed), and yes I had to figure out how it all worked together.

And I loved it.

I loved the process, I loved the joy I got out of making sure everything loaded and my JavaScript was properly formatted — the fact that I felt like I was trailblazing. I was doing the Robert Frost thing. Screw the well paved roads, I’ll take a dirt trail and a machete any day. It is true to say, Backbone.js may not be for everybody. It may be too much work (give JavascriptMVC a try) or it may not be corporate enough, enterprise enough (may I point you to the abomination that is Ext JS 4?). But I don’t care, it is rugged, solid. It is streamlined, yet the possibilities are infinite.

Check it out.

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">