Finally jumping on the jQuery bandwagon

As a web developer there’s a large part of me that should be ashamed to have just now jumped on the jQuery bandwagon. I’ve been developing in honest for about 10 years, so my excuse is that I (like many) was developing in Javascript way before jQuery was even a beta project. But now that I’ve seen the light, jQuery is blowing my mind…and for the better.

Back in my day…

I started getting serious with Javascript when the Prototype library came out. I was doing intranet development at the time (around 2004) and jumped face first into using Ajax with web apps. Prototype gave me an easy way to do this, so that’s what I started out with. Then Scriptaculous came along to offer wonderful JS-based effects and I was in business. I learned it well to the point where Prototype’s conventions were pretty much instinctive. This all supported my development until I left that job in 2007.

The job I took in 2007 was less developer and more designer/content manager. I wasn’t doing the JS development I was doing before. I wasn’t building apps, I was designing pages. The few times Javascript came into the picture, I just fell back onto Prototype because that’s what I knew. I could get it done fast, which is exactly what needed to happen. My deadlines were short enough that I thought learning a new convention really wasn’t worth it.

Seeing the light

Now that I’m in a role when Javascript development is again at the forefront it was time to upgrade my knowledge, and that meant jQuery. Don’t get me wrong, I knew about jQuery and had been reading of its awesomeness for quite some time, just never had an excuse to take the plunge. But now that I have I’m kicking myself for not doing it sooner. jQuery is, as some kid say, the bee’s knees. Of course, if you’re a developer, you probably already know this. I’m behind. It happens.

If there’s one good thing to coming late to the party is that maybe all the crap of early versions has been taken care of. I know just from using Prototype for so long that early versions were quite dirty. I don’t doubt jQuery progressed the same way, so coming into the game several versions “late” is probably to my advantage. Of course, it means I can’t use the excuse of “it didn’t have that function when I was using it.” At the time when I was using Prototype there was also seemingly a new JS framework coming out every week. Waiting a while to let the dust settle is also a good thing because you can easily see who will survive. jQuery is a survivor.

But what makes jQuery so awesome? It’s simple and it works. It just works.

It also makes sense to anyone that has done any sort of web development. jQuery uses CSS-like conventions to make working with HTML elements pretty much intuitive. You can then chain together actions to create what you want. No messy clean-up. One challenge jQuery has presented to me is basically un-learning all the programmatic knowledge I had to use with Prototype and other languages. Using arrays, loops, and other logical processes to do simple things like switch CSS styles and events is a thing of past.

Change can be scary, but it can also be exciting

jQuery is the first framework I’ve seen that actually lives up to its goal of providing Javascript power to non-programmers. But that doesn’t mean it’s not powerful. If you are a programmer, like myself, then you can really use jQuery to kick ass because you can combine the normal JS practices with jQuery practices to produce some awesome experiences. Add the fact that jQuery supports a plug-in type model and you can easily expand your base jQuery installation without you having to do much of anything.

jQuery is exciting for me because it is changing how I develop. It changes how I think of HTML coding, CSS coding, and Javascript coding. Usually when something comes in and changes my world in even the slightest way I’ll put up the walls. This time the benefit was easy to see, so it’s time to adapt. And so far, it’s making everything I do better. Much better.

Home page image credit

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>