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.
jQuery is just awesome.
jQuery with your dollar sign,
Oh how I yearn to make you mine,
And see you woven into code,
And watch you, using AJAX, load.
My love for you is nothing new,
From year to year, it grew and grew,
And, on this day, remains the same -
I shiver when I hear your name.
So raise a glass to growing old,
Together as we walk this road,
Off hand in hand, for all to see,
jQuery with a grateful Me.
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!
Thanx for this, Ben. It was both true and kind of bizarrely cute. Good job showing the love, man.
Sometimes you have to sacrifice yourself on the alter of dignity :D
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:)
Happy Friday Ben. It's nice to see jQuery get some love and also get a peek at your poetic side. Cheers!
Passionate. I like it.
Thanks guys! Glad to be spreading the jQuery love.
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.
Yeah, I think v2 dumped support for IE<9 (though not exactly sure).
Awesome update (appended to blog post). The poem has been songified by Mr. Matthew Hopson. Boom!
Amen brother! You are now a lyricist ;)
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.
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. :)
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 :)
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
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.
Great poem and great song! :-)
@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.
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.