With the growing adoption rate of Javascript frameworks such as jQuery and Prototype, some people wonder “Do I need to learn POJ (Plain Old Javascript) before I learn a framework?”.

If the question is “Do I need to?” the answer is no. If the question is “Should I?” I would say yes, if you’ve got the time and are ambitious to know what’s happening behind the scenes, jump in and do so. I don’t think learning a framework is an excuse for not learning Javascript, I think most people who use a framework have at the very least, a basic understanding of how Javascript works. If you know basic Javascript, got hooked on jQuery and are now a jQuery Sensai, I would say it’s time to download a copy of jQuery uncompressed and really figure out what’s happening when you call your favorite jQuery methods.

The main reason behind using a framework such as jQuery is that it allows you do more while writing less (jQuery moto). I think that jQuery is a great tool, especially for front-end developers who have struggled with Javascript. If you talk to front-end developers, most of them will tell you that they’re using a Javascript framework instead of writing plain old Javascript.

Even the Javascript language is evolving to allow a more friendly way of targeting elements (W3C): document.querySelectorAll(‘#element:hover’). Although this method is relatively new and has a stupid targeting bug, it’s nice to see that the language is inheriting the ever-so-famous CSS selector engine.

Knowing a framework also makes you more marketable, in fact if you don’t know a framework, you should probably pick one up and start learning. If you check out job boards like JS Ninja you’ll find that most of them require experience with a framework such as jQuery, Prototype, Moo Tools, Dojo etc. Of course you will be more marketable if you actually are a Javascript ninja without a framework. The reason frameworks are becoming such a requirement, is a no brainer – they’re quick and they’re reliable. Each release of a jQuery goes under a battering of testing before release so that you don’t have to worry about your code getting disemboweled by IE6.

Since time is money, what employer wouldn’t want to charge a client the same price they’ve always have, only to have the job completed in half the time? Sounds like a profit to me.

jQuery FTW!