24

In my opinion, when I looked at JavaScript, it looked like not my cup of tea. When I came across jQuery, I loved it. I sat and watched Nettuts+ 15 days of jQuery screencasts, 1 year later and now I'm fairly confident I wouldn't develop a website without including jQuery's library.

I have never felt this has held me back but my question is, will this come back and bite me in the ass one day, the fact that I didn't have a solid JavaScript foundation before jumping feet first into one of its best (if not the best) frameworks? Did anyone else take this approach?

2
  • 1
    After one year with jquery, I'd think you would have picked up JavaScript pretty well by now, no? Jan 28, 2011 at 12:08
  • Not if i hadnt looked at it :) Jan 28, 2011 at 12:11

11 Answers 11

32

jQuery makes it easier and shorter to write JavaScript code. But jQuery does not replace JavaScript by an own language.

If you use jQuery, you don't need to know some things like how to find an element based on its id or its name, or how to loop through the <li/> elements of an <ul/> list (since you can easily do it with jQuery: $('ul#ListNameHere li').each(function() { });).

But even if you use jQuery, you still need to know how JavaScript works, and how to do things jQuery doesn't do for you. It means that you must know:

  • the language itself (how to use arrays, what are closures, etc.)
  • the non-jQuery things (calculations, for example).

Last but not least, if you intend to write jQuery code on professional level, you should know JavaScript as well (including things that jQuery does for you), in order to write optimal code, not being stuck when there is a bug, etc.

3
  • 1
    Arithmetic is part of "the language itself".
    – Trinidad
    Jan 28, 2011 at 12:24
  • 3
    I'll add to this: understand JavaScript object-based system; understand AJAX, so you don't end-up doing synchronous A(asynchronous)JAX; the way events work in JavaScript; CSS selectors; etc
    – Trinidad
    Jan 28, 2011 at 12:27
  • 3
    This. You can't use <Library X> without programming in <Language Library X is for>.
    – user7043
    Jan 28, 2011 at 13:55
11

Well, jQuery is only a JavaScript library that makes coding in JavaScript easier when it comes to DOM manioulation. So you will need to use JavaScript in any case, but I know from experience that it is totally possible to pick that up "as you go along" while mostly doing things with jQuery. jQuery certainly makes it less frustrating to use and learn JavaScript.

(Myself, I didn't know much JavaScript when starting with jQuery and now I suppose I have a solid foundation in JavaScript)

7

I think if all you are concerned about is manipulating the DOM, adding CSS effects and implementing 3rd party plug-ins then you don't really need to know much JavaScript and jQuery will do you nicely. However, if you want to actually develop applications and games etc. in JavaScript then you will need to know JavaScript.

6

Will it bite you in the ass? Probably not.

I too have fallen in love with jQuery in the past year. I was passable at regular Javascript prior to that. Honestly, working with jQuery has improved my general Javascript skills and knowledge quite a bit. You just can't help when working with such a well-written library.

If you try to do more advanced things with jQuery, like writing your own plugins, then you'll definitely need a more sophisticated understanding object-oriented concepts in jQuery, and closures. If you're just working with out-of-the box jQuery, or using a few plugins, you don't actually need to know that much Javascript. (In my opinion.)

1
  • I agree with this, for I had the same experience. You can do a lot with jQuery without knowing much JavaScript. Then you can gradually learn JavaScript as you go, when you have concrete tasks that you need it for.
    – Kyralessa
    Aug 2, 2011 at 19:24
5

jQuery stands on top of javascript. -- read as it IS javascript

To call the base language "bloated, poorly written and an unnecessary amount of code to do the simplest of things" is nonsensical.

In fact, I would think that bloated is diametrically opposed to requiring an unnecessary amount of code. jQuery is nice to be sure, but bloat imho refers to unnecessary code blobs that you don't use. If you just include the entire jQuery library, I would think a fair amount of it will see little or no use.

Anyway, I would look to understanding javascript before I used a javascript library in case something doesn't work properly. To approach it another way is like saying I want to build an Android application with an app-builder IDE/some tool for RAD, but I don't want to learn Java. What happens when something doesn't go as expected? It just doesn't make sense.

Something else to remember - "learning javascript" is not a large undertaking. I use it quite a bit for div swaps and menu systems without having to rely on jQuery includes. On the other hand, jQuery is pretty handy for some slick UIs.

4

jQuery is Javascript.
You can't really understand jQuery without understanding Javascript.

4
  • I slightly disagree, you dont have to understand Javascript syntax to understand jQuery, you maybe to have to understand javascript principles though Jan 28, 2011 at 19:33
  • 8
    I disagree with your disagreement. jQuery is a JavaScript library. When you are using it, you are programming in JavaScript, whether you understand it to be so or not. Jan 28, 2011 at 20:04
  • 2
    GrandmasterB is right. Jan 28, 2011 at 20:48
  • 1
    JQuery is Javascript in the same way that abbreviations are still English. It gives you an efficient shortcut, but you still have to understand what it is a shortcut FOR.
    – JohnFx
    Jan 29, 2011 at 3:37
2

In my opinion javascript libraries, firstly Jquery are designed as a tool to enhance the look and the feel of the site, and also add easier DOM traversing and AJAX call functions.

And as tool it is excellent in its domain, but now Javascript has emerged as the leading programing language for HTML5 specific tasks primarily canvas.

It includes webworkers/storage and etc.. HTML5

So if you are planing to develop a complex applications/RIA-s you will have to eliminate the overhead that is generally used in generalization of library functions.
And you will need to develop a faster and less memory/processor consuming applications that will run on an wide range of client computers.

So if you are not planing to divulge into building complex javascript application you will have no problem continuing to use Jquery without prior familiarness with javascript.

"My mentor would always say "don't fall in love with a library(application, it depends on the context), learn to do it yourself because there are thing that it can't do and then you are back where you started! "

2

Before using jQuery I think it doesn't hurt to know something about following items:

  • Understanding concepts of scripting languages (code can be modified when application is running, when to use, effiency)
  • JavaScript (fundamentals like keywords, data types, syntax etc.)
  • Basics about DOM structure
  • Some knowledge how to develop software that is used in many
    browsers
2

I am learning jQuery right now. I don't have much experience with javascript, but I have used similar languages so as a language it is not a problem. So I am learning javascript ideas as I learn more jQuery. That makes me comfortable knowing what might be going behind the scene. In my opinion it depends on how extensively you are going to use jQuery. If it is extensive it will help to know the language itself to use the framework.

0

No it wont come back and bite you. In fact, there are many instances that I have recommended to others your approach (let jQuery lead you as far as it can and stop there).

Javascript is a very rich language (functional, supports first-class functions etc) definitely worth learning but for most user interface tricks you will not need it; jQuery alone will do just fine.

0

jquery is an awesome javascript library, speeds up selection and processing of data, and the design and ui of it all. And makes most if it very cross browser friendly, but it really helps to understand how to do the very basics.

To understand many different ways of doing different things, just so you have options, like for example how to do a loop in reverse, it's easy in javascript, seems, harder in jquery.

You don't need to be an expert in javascript to use jquery, but it will vastly improve your productivity. That's my 1 penny :P

Not the answer you're looking for? Browse other questions tagged or ask your own question.