Why is jQuery so widely adopted versus other Javascript frameworks?

Posted by Andrew Moore on Stack Overflow See other posts from Stack Overflow or by Andrew Moore
Published on 2009-06-13T05:56:33Z Indexed on 2010/03/18 16:11 UTC
Read the original article Hit count: 787

I manage a group of programmers. I do value my employees opinion but lately we've been divided as to which framework to use on web projects.

I personally favor MooTools, but some of my team seems to want to migrate to jQuery because it is more widely adopted. That by itself is not enough for me to allow a migration.

I have used both jQuery and MooTools. This particular essay tends to reflect how I feel about both frameworks. jQuery is great for DOM Manipulation, but seem to be limited to helping you do that.

Feature wise, both jQuery and MooTools allow for easy DOM Selection and Manipulation:

// jQuery
$('#someContainer div[class~=dialog]')
    .css('border', '2px solid red')
    .addClass('critical');

// MooTools
$('#someContainer div[class~=dialog]')
    .setStyle('border', '2px solid red')
    .addClass('critical');

Both jQuery and MooTools allow for easy AJAX:

// jQuery
$('#someContainer div[class~=dialog]')
     .load('/DialogContent.html');

// MooTools (Using shorthand notation, you can also use Request.HTML)
$('#someContainer div[class~=dialog]')
     .load('/DialogContent.html');

Both jQuery and MooTools allow for easy DOM Animation:

// jQuery
$('#someContainer div[class~=dialog]')
    .animate({opacity: 1}, 500);

// MooTools (Using shorthand notation, you can also use Fx.Tween).
$('#someContainer div[class~=dialog]')
    .set('tween', {duration: 500}) 
    .tween('opacity', 1);

jQuery offers the following extras:

  • Large community of supporters
  • Plugin Repository
  • Integration with Microsoft's ASP.NET and VisualStudio
  • Used by Microsoft, Google and others

MooTools offers the following extras:

  • Object Oriented Framework with Classic OOP emulation for JS
  • Extended native objects
  • Higher consistency between browsers for native functions support.
  • More easy code reuse
  • Used by The World Wide Web Consortium, Palm and others.

Given that, it seems that MooTools does everything jQuery does and more (some things I cannot do in jQuery and I can in MooTools) but jQuery has a smaller learning curve.

So the question is, why did you or your team choose jQuery over another JavaScript framework?

Note: While I know and admit jQuery is a great framework, there are other options around and I'm trying to take a decision as to why jQuery should be our choice versus what we use right now (MooTools)?

© Stack Overflow or respective owner

Related posts about JavaScript

Related posts about frameworks