I was told not to use Jquery as a beginner because it would hamper my learning of Javascript. Now I've read a couple books on Javascript, read loads of sites, and made a Javascript web app. Am I ready for Jquery? If not, then how will I know when I'm ready?
|
closed as not constructive by maple_shaft♦ Feb 12 at 0:46
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or specific expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, see the FAQ for guidance.
|
Wow, I know this may go against some people's ideas about crawling then walking and then running. But Javascript is not some awesome language you need to totally understand and then you'll be a whizbang programmer. Just use JQuery and have fun. Use it wiseley, use it cleverly! I did my company's website 3 years ago with just Javascript and replaced nearly everything I did with JQuery over the last year. Knowing every last IE6 browser quirk is not going to help in the long run, so just go for it man! |
|||||||||||||||||||||
|
Should have already startedjQuery is the only syntactic sugar I find indispensable for daily development. Selectors and events make everything more pleasing. Prototype and MooTools alter the way you write JavaScript while jQuery merely fills in the gaping holes that span between browsers. |
|||||
|
|
You don't have to listen to everything people say. Just download jQuery and start using it. Who cares if someone told you not to use it while you're a "beginner"? The point is to write the best code you can, not to be a slave to every silly opinion another programmer has. |
|||||||||
|
|
If you understand the DOM API and the problems jQuery has historically solved (I highly recommend quirksmode.org if you don't yet), by all means start using jQuery. As you do, ask yourself how it works and then commit to learning what it's doing under the hood if you really want to upgrade your javascript skills. What you see in that $ function looks awful at first but it actually does a lot to reduce jq object memory footprints and keep things reasonably performant and can teach a lot of valuable tricks for writing JS. Just keep in mind that jQuery has actually inspired (or included early versions of) a lot of new official-spec (W3C and ECMA) JavaScript methods that are now common or easily normalized for in most browsers. We have forEach and a number of similar callback-iteration methods now for arrays. We have query selection built-in in IE>=8 and post IE8 all of the bad old IE-proprietary DOM methods are no longer necessary. Method chaining is a really simple trick. With that under your belt you can pretty much write your own JQ that would cover 98% of use-cases. Whether it's a must-have nowadays is certainly more of a dilemma than it used to be for starting a new app but I personally continue to find it helpful for reducing DOM API boilerplate/cruft and a convenient way to get a UI team on the same page quickly. It's also an ideal model for any tool/library in that it stays out of your way when you don't want or need it to help you. I personally still like it for the way it implements generic events, the fact that it's selector API can still be faster than the querySelector methods in a lot of cases (they appear to plug into the right to left evaluating CSS engines for most browsers) and its implicit iteration of collections which reduces a ton of cruft for common DOM-handling. I could write my own much slimmer version but it's already there and minimized to the size of a medium-sized jpeg so I don't. |
||||
|
|
|
I am not certain I would insist on one before the other, but using jquery without a decent understanding of the underlying features of javascript sometimes leads to some odd complexity when a newer dev starts writing everything from a jquery point of view first. Use both, but be careful not to create complexity where it is not required. Some of those jquery functions can be quite expensive/complicated. On several projects I have had to replace jquery with plain javascript because they didn't perform as well as they should have at scale or on slower clients. IMHO the jquery is probably best mixed with more plain javascript than I see in many cases. |
|||
|
|
|
I would say if you are an experienced programmer with other languages (PHP, Java, whatever), then there's no reason not to just start with jquery right off the bat. Its just that immensely useful. Besides, jquery is a framework, so you'd still be using javascript - just instead of messing around with DOM, you're using jquery. If you are new to programming alltogether... then I'd say do a couple projects w/ javascript to get a basic understanding of client-side scripting without jquery, so you can learn a bit about what it is doing for you. And then when you feel like you have a handle on things, move on to jquery. |
|||
|
|
