After my class, I have had JavaScript frameworks on the brain. Part of my homework assignment is to read up on a couple. I thought it might be kind of fun to see what the general public thought those two should be, since I know some JavaScript ninjas that have some strong opinions; whatever they may be, they will be far more educated than mine, considering I am a total scripting noob. So I used Twitter to poll my “followers”, just to get a quick grasp of what those opinions are:
“all right javascript folks: I have to read up on a couple js1 libraries for class. I’ll let majority rule: which 2?”
After posting this, I definitely got what I asked for (strong opinions, that is). Besides the mini-debates going on regarding which frameworks and libraries were the “best” ones, I also got a surprising amount of negative feedback on using them in general2. It reminds me of the very heated debates that go on about CSS frameworks.
Clarification: just as I would prefer to write my own CSS rather than use a pre-baked CSS framework, I also prefer the idea of learning to write my own JavaScript rather than rely on libraries that do the work for me. But that’s not something I can do in one week, and that’s not my homework assignment.
I value all of the opinions that were expressed, and I’ve taken all of the comments into consideration (even the ones that didn’t quite answer my question). Here are few of the various responses I received through Twitter:
“go Mootools for fastest processing and scalability. run the test: http://mootools.net/slickspeed”
“Easily jQuery and Prototype – both are excellent, both are fundamentally different.”
“writing jQuery won’t help you learn JavaScript. Save that for after the semester. You should learn Prototype and YUI”
“i’m a fan of jquery, as it makes the connection with css,html (things i know) effortless”
“jQuery is powerful and quick to learn. YUI has robust UI element and animations. Together they are a powerhouse.”
So which ones did I pick? I did say I would let majority rule. And if I went by the chart I have here (showing all the results gathered), it would look like jQuery (definitely the popular kid in school) and Prototype:
However, after I decided to talk to a guy I have worked closely with — a guy with a superhuman JavaScript brain (don’t tell him I said that) — I realized that it makes sense to pick a popular, easy one, and then pick one that was very different, to get a better range of what’s out there. It makes sense to me. So I’m going to read up on jQuery and Sprout Core. Thanks to everyone for the suggestions!
Footnotes
- Corrected spelling. ↩
- See Shaun Inman’s response, for one. ↩
Unrelated Note:
If you haven’t already, please change your RSS subscriptions to my new feed URL: http://feeds.feedburner.com/SushiRobots. Thanks!
Edit: Jeff Croft has written a post that is relevant to this topic. While here, I talk about which Frameworks I choose, his post would be the place to comment if you feel strongly against Frameworks in general.

Buttons and t-shirts
Robots are everywhere. Enough to build an army. I must record them all.


6 Comments Add your comment
MichaĆ Moroz
September 7th, 2008
The idea of writing JS code by hand is a good approach when learning how the language/browser works, but in production it does not scale. Use of any framework noted above can remove up to 90% of code you wrote, and it generally frees you from patching your code for different browsers.
And yes - if you learn jQuery, Sprout Core and JS, you’ll probably tell that they are extremly different things. ;)
Nathan Smith
September 8th, 2008
Jina: I just saw your comment on Jeff’s blog post. So, rather than re-post what I said here, I’ll just link to my comment there.
– My Comment on Jeff’s blog
Also, I think it’s funny how critical people got when you asked your question on Twitter, almost completely missing the point of the assignment: To evaluate frameworks, not learn the entirety of JS in a single weekend. :)
Rogie King
September 8th, 2008
I have used Moo, Prototype, and now jQuery. I think I have a crush on jQuery, however, it’s chainability, while amazing leads to some fairly crappy looking code. What I love about all frameworks is that they smooth out all the bumps between browsers and make them function as similar as possible. They make ajax an animations a snap, but if you don’t know what’s going on behind the scenes, it can lead to very inefficient code.
After using these frameworks, I am starting to enjoy raw JavaScript more and more. I love the fact that when I write straight JavaScript and give it to others, it doesn’t depend on a framework.
That’s my 2 bits. Beautiful website Jina.
Nate Klaiber
September 8th, 2008
I think you made some good choices, Jina. While I have seen SproutCore in production sites, I haven’t gotten past just looking at their documentation and testing small things. jQuery and SproutCore are very different, so it would be interesting to hear a follow up post of some of your findings and experiences.
Jina Bolton
September 11th, 2008
Thanks guys. I agree with just about everything you’ve all said.
Adam Freeman
September 29th, 2008
My vote goes out to jQuery, it rocks my socks off ! It’s been around for a little while and there seems to be a lot of people using it so I think that speaks volumes for it. Sometimes chaining functions can make the code look confusing but as soon as you understand how it works you’re all good. It really confuses everyone at my work.
Comments are closed.