Ben Nadel
On User Experience (UX) Design, JavaScript, ColdFusion, Node.js, Life, and Love.
I am the chief technical officer at InVision App, Inc - a prototyping and collaboration platform for designers, built by designers. I also rock out in JavaScript and ColdFusion 24x7.
Meanwhile on Twitter
Loading latest tweet...
Ben Nadel at cf.Objective() 2009 (Minneapolis, MN) with:

Years Later, I Still Love jQuery

By Ben Nadel on

As modern browsers have become more modern and JavaScript frameworks have become more robust, there seems to be a growing trend amongst front-end developers in which the desire to use jQuery has diminished. In the most extreme cases, I even hear people talk about jQuery as something they can "finally" get rid of. This is not a sentiment that I connect with at all. When I first discovered jQuery, I decided I would never start another project without it. Years later, I still feel the exact same way - I freakin' love jQuery.

For starters, I use AngularJS. Ergo, I use jQuery. Now, I happen to use the actual jQuery library; but, even if I didn't, AngularJS still presents a subset of the jQuery library called jqLite. So, whether or not I include jQuery in my AngularJS applications, I'm still "using jQuery." The only difference is the underlying implementation.

That said, jQuery still has an awesomely awesome API. And, I don't just mean api.jquery.com, which is awesome. I mean the method signatures. I mean the event delegation. I mean the normalization of event objects. I mean the normalization of event types. I mean the chainability of methods. I mean the way it helps to fight against memory leaks. I mean the simplification of AJAX (Asynchronous JavaScript and XML) requests. I mean the plugin architecture.

jQuery is just awesome.


 
 
 

 
 
 
 
 

That - just - happened.

Update: After I posted this, Matthew Hopson took it and turned it into a song:


 
 
 

 
 
 
 
 

I'm so freakin' blown away! This is how you do a Friday!

Tweet This Provocative thoughts by @BenNadel - Years Later, I Still Love jQuery Thanks my man — you rock the party that rocks the body!



Reader Comments

lol. Ben's head over heels in this relationship, it seems (and that's a common place to be with jQuery). The one unifying aspect of jQuery that I love about it (even though later versions support only a certain array of browsers), is that it works to unify the workload of the developer.

Dignity can take one for the team, if need be. 8:)

Reply to this Comment

Happy Friday Ben. It's nice to see jQuery get some love and also get a peek at your poetic side. Cheers!

Reply to this Comment

Just today, I had a user have a problem with my site. Turns out she was using IE7 on a Windows XP machine.
Well, I am (was) using jQuery 2.0 with Twitter Bootstrap, but when I downgraded to jQuery 1.11.0, it fixed the problem.

Reply to this Comment

@All,

Awesome update (appended to blog post). The poem has been songified by Mr. Matthew Hopson. Boom!

Reply to this Comment

You "discovered" jQuery? Or maybe someone had to tell you about it several times before you got on board? Hmm, I wonder who that was.

Reply to this Comment

You are a man of many hidden talents, Ben. From a (failed) Creative Writing major: Excellent use of an AABB meter. I believe, if I remember correctly, that style is called a "couplet".

Go jQuery! Seriously, who doesn't like jQuery? Who is that person, and how can I make sure never to meet him?

Add co-songwriter to your list of credits, and kudos to Matt Hopson for pulling that together so quickly. :)

Reply to this Comment

jQuery is not a woman that needs to be wooed with poetry and songs. As awesome as jQuery and other libraries are, they are not as good as Vanilla JavaScript alternatives. Vanilla JavaScript is adopting some of the good things they brought and old browsers plugins helped make programmable-against are slowly fading out. So, like when you finish college and have enough money to buy a house, you have to move on from your tiny apartment. There is a time older plugins would be less useful. It is nature.

Reply to this Comment

@Glen,

Ha ha, for the record, Glen got me to look into jQuery. And, if memory serves me correctly, he was also a big proponent of CSS as well... though it's been a long time :)

Reply to this Comment

@Shawn,

Creative writing was a lot of fun! Definitely hard stuff. Every now and then, I try to write stuff privately and I feel like I have no idea what I'm doing. I'm just happy something comes our OK sometimes :D

Reply to this Comment

@Phil,

I definitely agree that a good deal of what jQuery did was abstract the quirky differences between the various browsers as they were all growing up. That is less relevant these days; but, to that effect, jQuery has now branched its code base to try and drop a lot of the old cruft of compatibility.

That said, I still think jQuery represents a beautiful API! And, provides things that still not (to my knowledge) as easy with the native alternatives. For me, the big "win" when I first learned jQuery was the ease with which events could be bound:

element.click( callback );

This was _amazing_! It changed the way that I thought about programming and how I did _evertything_. Now, years later, binding events is much more uniform in the browers. But, I still think the jQuery API is far more simple. To me, I still prefer:

element.click( callback )

... to the native:

element.addEventListener( "click", callback )

And, the event-delegation that jQuery provides:

element.on( "click", selector, callback );

... is so elegant and simple.

And things like CSS-based selectors, I still think jQuery has it beat. You just can't get more simple than:

$( select )

The native approach,

document.querySelector( selector )

... isn't too far off. But, it's just not as simple, not quite as elegant.

Obviously, we are currently navigating the realm of subjectivity. You may prefer something different to what I prefer. But, I would just like to say that jQuery's original mission statement wasn't just to abstract the browser differences - it was to provide an API that the DOM "should have had." And to me, I still think that rings true. But again, much of that is personal preference.

Reply to this Comment

@Ben's answer to Phil -- Very well said. I am in complete agreement with you.

I appreciate your article very much Ben. There seems to be an apparent snobbery towards jQuery from some in the FED environment who are afraid of the competition that the simplicity it provides for "non-developers" and/or the self-taught. As an autodidact myself, I started writing html back in the mid-90s ( 3.0) and by '98, applets and javacript were becoming more popular for animation rich interfaces. Though JS wasn't as widely used due to browser compatibility, security threats (eval(), etc) and maybe it's syntax, I never gave up on it. Perl/CGI, Java, ASP, .NET all came along and kind of pushed JS even further down the barrel.

Then along came jQuery -- and in my opinion -- Javascript's Maximus Decimus Meridius. It made JS fun to learn and easier to understand. From my experience, if it wasn't for this library being written, many of the newer JS libraries that wrangles how robust this functional language has the potential to become wouldn't have been created . Yes, there was dojo, scriptaculous, prototype, etc. that were around "pre-jQuery", but in my opinion, they weren't the Hero that jQuery is to JS when it came to learning the language from an HTML/CSS coder's skill set. With jQuery, javascript is exciting again and hasn't lost it's popularity among FED's who really understand the value it brings -- regardless of it's buzz-word trendiness.

Reply to this Comment

@Chris,

I feel the same way - jQuery was really what opened my eyes up a lot. I had been writing JavaScript for a long time before that; but, it was only with jQuery that I actually stopped using inline "onclick" handlers. That's when my understanding of the language and my use of it really began to pivot and grow.

Why that didn't have with the other libraries that existed? Not sure. Maybe it was just the right place, right time. Or something about the API. Or the community. Can't really say. But, I loved it then, and still love it today.

Reply to this Comment

Post A Comment

You — Get Out Of My Dreams, Get Into My Comments
Live in the Now
Oops!
Comment Etiquette: Please do not post spam. Please keep the comments on-topic. Please do not post unrelated questions or large chunks of code. And, above all, please be nice to each other - we're trying to have a good conversation here.