Poll: What is Your Preferred JavaScript Framework?

By  on  

As different as the JavaScript frameworks can be, they all do just about the same thing. Still, a developer's choice of JavaScript framework is a very personal decision. When choosing a framework, a developer must consider:

  • component modularity
  • file size
  • community support
  • code efficiency
  • project needs (on a project by project basis)

What framework do you prefer? Make your vote and share your reasoning in the comments.

[poll id="2"]

Recent Features

  • By
    Conquering Impostor Syndrome

    Two years ago I documented my struggles with Imposter Syndrome and the response was immense.  I received messages of support and commiseration from new web developers, veteran engineers, and even persons of all experience levels in other professions.  I've even caught myself reading the post...

  • By
    7 Essential JavaScript Functions

    I remember the early days of JavaScript where you needed a simple function for just about everything because the browser vendors implemented features differently, and not just edge features, basic features, like addEventListener and attachEvent.  Times have changed but there are still a few functions each developer should...

Incredible Demos

  • By
    Check All/None Checkboxes Using MooTools

    There's nothing worse than having to click every checkbox in a list. Why not allow users to click one item and every checkbox becomes checked? Here's how to do just that with MooTools 1.2. The XHTML Note the image with the ucuc ID -- that...

  • By
    MooTools Zebra Table Plugin

    I released my first MooTools class over a year ago. It was a really minimalistic approach to zebra tables and a great first class to write. I took some time to update and improve the class. The XHTML You may have as many tables as...

Discussion

  1. I like jQuery most, most likely because I learned the basics on http://blog.themeforest.net/tutorials/jquery-for-absolute-beginners-day-1/

  2. Langel

    I don’t actually have many web programming friends. The ones I do have are on the internet only. When I realized there were these collection of javascript libraries I asked around. I got one vote for jQuery and another for YUI and the rest said they didn’t mess with javascript. I chose jQuery about a year ago probably on the layout of their website alone but I haven’t regretted it or anything.

    I’ve only been following your blog for about 20 posts now. But I got to ask, since you’ve been writing about MooTools recently, do you think your readers might be biased? =D/

  3. Jordi

    mootools became my framework of choice after a little bit research a year ago. Since then I had just been using my own functions and XHTTPRequests.

    I also have done a couple of little things with jQuery (a multiple SELECT sync,…).

    To tell the truth both frameworks are fantastic. You can even combine one of them with a CSS framework like Blueprint and you have a lot of quailty scaffolding for your website.

    There is one thing that is worrying me lately. I have read at other blogs that the mootools developers are not so open minded as those of jQuery (elitist is the word they use)

    I am afraid jQuery development will advance faster and with more quality than mootools’. The same for external plugins, bloggers and so on.

    IMHO, community is as important as quality of the framework and maybe it is much better jQuery’s community than mootools’.

    I would like to add that your blog is a good meeting point for us mootools developers.

    On the other hand, it is great if any framework includes advances in other frameworks.

    Last, it’s interesting to follow the works in Yahoo (YUI) and Google’s APIs or even other frameworks like Prototype, Mochikit,…

    Regards.

  4. I love this question. What’s funny is that the two most popular frameworks are actually very different in their missions:

    Excerpt from jQuery’s mission statement:

    jQuery is designed to change the way that you write JavaScript.

    Translation: You need to learn a new language — it’s not exactly JS. In a way it’s a dialect of JS.

    Excerpt from MooTools’ mission statement

    MooTools is a compact, modular, Object-Oriented JavaScript framework designed for the intermediate to advanced JavaScript developer.

    Translation: JS-uninformed stay away.

    Basically, jQuery is good for the new-to-JS developer. It’s extremely powerful, but it’s also like its own language. A very good JS developer won’t understand jQuery until he “learns its dialect.” MooTools however is more like real JS, just in a completely object-oriented system with really powerful features.

    I feel like jQuery is getting a lot more attention from the blogosphere lately just because there are more non-JS developers than JS-developers, so jQuery is the weapon of choice.

    I prefer MooTools myself, but jQuery is pretty cool and for non-JS people, it seems to be the favorite. Regardless, I think every developer should be able to work in many different frameworks.

  5. That’s a tough one. I like different features from several (like Dojo’s packaging system and MooTools class system). Ext looks beautiful and DWR is unique. I just love ’em all I guess.

  6. Rikki

    I use Prototype – mainly because it was one of the only frameworks around when our team started using it, we’re all comfortable with it and don’t see much need to change right now.

  7. hb2

    absolutely JQUERY…NO DOUBT !!

  8. I don’t think than JQuery is a diferent language, simply, it’s designed for people than don’t know much about javascript. With JQuery you don’t need learn javascript, just use the framework, use the plugins than you need and it’s works. It’s perfect for a designer :)

    But obviously, that is not the way to create an complex aplication with javascript. Everyone knows than if you need develop a big aplication, you gonna need something more powerful, flexible and Orient-Object. I think than Mootools can do this very well.

    By the way, I like your blog, thanks for all articles :)

  9. I use jQuery because of two things, I visit nettuts.com regularly and they have a number of jQuery tutorials. Plus the themeforest blog has a series on jQuery and it’s great, so for the same reason as pascalmh!!

  10. I must say, I’m a bit I’m surprised at these results. Very surprised actually. I would have thougt that YUI and Prototype would get a some more votes.

    First off, I’m not a JS developer. I simply use JS for a few DOM manipulations and more “visual” stuff. And for that, jQuery fits the bill perfectly. I actually started with Prototype, but switched because of the need (and size) of scriptalicious (not to mention, I couldn’t spell it right).

    I have looked a mootools. And if I were doing anything heavier that simple DOM, I would definitely look into it more.

  11. shin okada

    I would expect jquery and mootools will be the top two, because David gives those two js tuts. So people coming to read this site are mainly who are using these js. IMO I think the result will be very biased.

  12. My vote is for the framework I created myself – it has just one user – myself ;-)
    http://www.openjs.com/scripts/jslibrary/

  13. cssProdigy

    Effects MooTools has smooth effects and Robert Penner easing transitions built in.
    Plugins MooTools has sweet plugins including the unmatched Slideshow by Aeron Glemann
    Swiff for Flash & Javascript interaction
    Modular Just download what you need using the MooTools builder
    Documentation + Class Support + Object Oriented

    Like Mark Said:

    “every developer should be able to work in many different frameworks.”

  14. I use jQuery for minor things like form validation. I don’t implement a whole lot of JS because in some cases you can do without. It’s a great thing for beginners to JS because their is a large community of jQuery users and there are many scripts already written.

  15. It’s great to get some opinions.

    @Jordi: I agree that it’s important to follow other frameworks, even if you only use one. It can provide a lot of inspiration.

    @Mark: I agree that jQuery attracts more users because many are newer, although I wouldn’t say (nor did you) that jQuery is only for beginning to novice JS users. Moo isn’t for the new user — they wouldn’t survive.

    @Rikki: And there’s nothing wrong with that.

    @shin okada: They likely are biased, but I would say I’m surprised at the result. I don’t post a lot about jQuery (not as much as I’d like, at least), but jQuery got more votes.

    @Binny V A: Now that’s biased. :)

  16. Matthias

    My framework of choice is jQuery. It’s so powerfull with so much great plugins and animations are so easy to implement.

    But in terms of object orientation its a little bit weak. In the comments is mentioned that mootools is good when it comes to object orientation so maybe I’m going to try it someday.

    Btw: Happy new Year :)

  17. I’m a mootools guy. I started with P/S and felt like the animations were way to jerky and not enough dev going on with Scriptaculous. I looked at both Mootools and jQuery when I was making the switch and while jQuery had many more user contributed scripts/tutorials alot seemed to have issues with cross-browser compatability and just seemed all over the place from a code point of view.

    I was very new to JS (strong background in PHP) and basically chose to go with mootools because the programming style made sense to me. Plus on the forums there seemed to be a strong vision to show users how to properly call and build classes.

    Both are good frameworks. I’ve used jQuery on a few projects, but I think that because I know mootools I can write custom classes much quicker and leaner than with jQuery. Just my opinion, though.

  18. scott

    Funny how SPRY is never included in any of these lists. I think SPRY is very underrated…I realize it has the Adobe stamp, but I’ve found it very useful in many sticky situations. I’d have to say mootools is my fav…it’s far more fluid and smoother when using effects. jquery is like the Wal-Mart of frameworks as far as I’m concerned.

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!