April 29, 2009My History With Javascript Frameworks
I posted this as a comment on an Ajaxian article about rating multiple frameworks and thought I'd mirror it here.
I’m afraid my experience isn’t as diverse as most of these other comments, so take what I say with a grain of salt.

I started using prototype about 8 months ago, it was the first framework I had dealt with, since prior to that I had avoided frameworks thinking it added too much unused bulk to the page. I still think that, Prototype made my life so much easier in so many ways that I include it anytime I have to do more then just basic style changes.

I kept seeing really good libraries being made for MooTools, so I decided when i rebuilt my website last month to build it using Moo. At first it was awesome and made a lot of stuff much easier then prototype. Then I tried to do some ajax form submissions, and it completely fell apart. MooTools just does not have the same level of power and flexibility when it comes to forms that prototype has to offer. Or, atleast if it does I couldn’t find documentation on how to do it. I switched back to prototype and rewrote everything that had used Moo functions.

jQuery gets an insane amount of attention, but the bulk of it and the performance tests I’ve seen with it strongly discourage me from wanting to use it. The examples I’ve seen written with jQuery feel like it is trying to treat JS like something it isnt, using it as a page building system rather then as an extension to JS and the DOM.

When Dojo first started showing up I watched a presentation here on Ajaxian given by one of the Dojo leads. About ten or 15 minutes in he said something along the lines of “Dojo was built so that you don’t have to know HTML to create websites.” I stopped the presentation right there and wrote Dojo off forever. I strongly dislike frameworks that are meant for people who hate making webpages, it’s why I refuse to touch CakePHP.

I know it’s very opinionated of me to say this and I’ll probably take flack for it, but if you don’t know/like HTML, you shouldn’t be developing for the web.
So, yeah, there it is.