Simon Willison has written a nice article outlining why jQuery is a great library. I have to admit that I still am a bit reluctant to move to jQuery. Not because of anything bad or jQuery not being a great framework. My reluctance stems soley from not wanting to take the time to learn a new library.

I currently use Mootools and know it well. Also I have a custom library that extends Mootools. Although this article proves I am missing out on some great stuff I am not sure when I will make the switch.

When jQuery came out back in January 2006, my first impression was that it was a cute hack. Basing everything around CSS selectors was a neat idea (see getElementsBySelector) but the chaining stuff looked like a bit of a gimmick and the library as a whole didn’t look like it would cover all of the bases. I wrote jQuery off as a passing fad.

Over the past few months it’s become clear to me exactly how wrong I was. jQuery is an exceptionally clever piece of engineering. It neatly encapsulates an extraordinary range of common functionality, and provides a clever plugin API for any functionality not included by default. It takes a core abstraction—that of a selection of DOM elements—and extracts as much mileage out of it as possible. Most importantly, it does so in a way that obeys best practices and plays well with other JavaScript code.