views:

764

answers:

8

I've been using various javascript frameworks including mootools, jquery, prototype and scriptaculous and have found them all good, but difficult to extend to more complex ideas.

If I am going to knuckle down and learn one, which is the simplest to extend and use whilst staying powerful enough to use in a variety of directions?

+3  A: 

jQuery is my favorite

Rory
A: 

I've been using jQuery and have had no troubles with it. I am about to get involved with the Google Web Toolkit (GWT) just to see if it's as good - I'll probably continue to use both if it is.

paxdiablo
+1  A: 

Another vote for jQuery. It's small, focussed, and yet very powerful. It's also reasonable well documented, by the (generally awful) standards of JS libraries.

It's also very easy to extend, once you get your head around the syntax.

skaffman
+7  A: 

In my opinion, jQuery is exceptionally powerful and simple. It uses CSS selector syntax to pull back elements and only adds two functions to the global namespace: jQuery() and $(), which is an alias for jQuery().

There are a massive number of plugins available for jQuery to let you do things like create slide shows, accordion controls, rich calendars, etc. The book "jQuery In Action" is a phenomenal companion to the online reference material.

We used it on my last project to create a fairly rich scheduling tool and we liked it so much, we're encouraging it's adoption throughout our consulting company as the defacto standard for all JavaScript use. You can check out the results at http://www.stanleysteemer.com

Jeremiah Peschka
+1  A: 

I personally prefer jQuery because I find it quite intuitive (easy to learn) and there are tons of plugins for extending functionality on the web

dDejan
+1  A: 

Prototype. Is simple, unobtrusive, and makes your javascript code look cleaner than ever.

It has a wonderful user group, where you can get your questions answered almost immediately

Pablo Fernandez
+18  A: 

I propose jQuery.

I'll give you some of the major arguments from the presentation that my team put on yesterday for senior management to convince them of that.

Reasons:

  1. Community acceptance. Look at this graph. It shows searches for "prototype", "yui" and "scriptaculous" growing from 2004 to 2008. Then out of nowhere in 2006 searches fro "jquery" shoot up to double the number of the other libraries. The community is actually converging on a single leading product, and it's jQuery.

  2. jQuery is very very succinct and readable. I conducted an experiment in which I took existing code (selected at random) written in YUI, and tried re-writing it in jQuery. It was 1/4 as long in jQuery. That makes it 4 times as easy to write, and 4 times as easy to maintain.

  3. jQuery integrates well with the rest of the web world. The use of CSS syntax as the key for selecting items is a brilliant trick which helps to meld together the highly diseparate worlds of HTML, CSS and JavaScript.

  4. Documentation: jQuery has excellent documentation, with clear specifications and working examples of every method. It has excellent books (I recommend "jQuery in Action".) The only competitor which matches it is YUI.

  5. Active user community: the Google group which is the main community discussion forum for Prototype has nearly 1000 members. The Google group for jQuery has 10 times as many members. And my personal experience is that the community tends to be helpful.

  6. Easy learning curve. jQuery is easy to learn, even for people with experience as a designer, but no experience in coding.

  7. Performance. Check out this, which is published by mootools. It compares the speed of different frameworks. jQuery is not always the VERY fastest, but it is quite good on every test.

  8. Plays well with others: jQuery's noConflict mode and the core library's small size help it to work well in environments that are already using other libraries.

  9. Designed to make JavaScript usable. Looping is a pain in JavaScript; jQuery works with set objects you almost never need to write the loop. JavaScript's greatest strength is that functions are first-class objects; jQuery makes extensive use of this feature.

  10. Plug-ins. jQuery is designed to make it easy to write plugins. And there is an enormous community of people out there writing plugins. Anything you want is probably out there. Check out things like this or this for visual examples.

I hope you find this convincing!

mcherm
That is impressive. Pity the eyecon accordian is a bit rubbish in IE7 but I'm sure that could be fixed. JQuery seems significantly faster than the others on IE7 (even after several runs to iron out limited clock resolution) not so much on FF but still quick.
AnthonyWJones
Mind you the trends info you mention is skewed a bit. If you consider english speaking countries then prototype is the most searched.
AnthonyWJones
@AnthonyWJones: "yui" is a common name in Asia (especially in Japan) and "prototype" is a common English word. So taking that into account it's especially impressive that jQuery is still doing so well on that chart. This is the preferred Accordion, at this point: http://docs.jquery.com/UI/Accordion
John Resig
jQuery is also used by a number of large corporations. That's a pretty neat "stamp of approval".
roosteronacid
And as of this morning I hear Microsoft has announced official support for jQuery. That's quite an endorsement.
mcherm
jQuery all the way!!!
alex