Are jQuery Users Fools?

Are jQuery Users Fools?

We should get this out into the open. There seems to be a commonly held belief that jQuery users are ignorant, and, more often than not, designers. Where did this come from, and is it true?


Roots

The JavaScript community wasn’t nearly as vibrant and passionate as it is today.

Let’s take a trip down memory lane; we’ll rewind the clock several years – pre jQuery days. The JavaScript world was a very different scene back then. The community wasn’t nearly as vibrant and passionate as it is today. Sure, back then, there were a few libraries, like Prototype; but they never managed to grab the regular user spotlight the way that jQuery soon would. At that time, JavaScript was a widely hated language. Sometimes, it’s easy to forget that there were times when developers refused to take the necessary time to …ya know… learn JavaScript! Instead, they’d simply copy and paste their way, hoping to keep from getting that nasty JavaScript stain on their pants.

The DOM

What you mean is, “I hate the DOM API.”

What these copy and paste addicts (I was one of them) didn’t realize is that, when you say, “I hate JavaScript,” what you really mean (whether you realize it or not) is, “I hate the DOM API.” No one can be blamed for feeling that way. Especially back in those days, when even IE5 support was in effect, things could get a bit nasty. Browser implementations of the DOM were the culprit; not the JavaScript language. This is due to the fact that there really wasn’t any DOM specification. As a result, browsers sort of winged it as best as they could! We have innerHTML not because of a specification, but because the Internet Explorer team decided to just throw it in there (at which point the other browser vendors reverse engineered it, and implemented it into their own browsers). But the JavaScript language, as a whole, is solid.

In fact, many folks, including myself, would go as far to say that, as a language, JavaScript is really quite beautiful.

jQuery

Around that time, jQuery entered the atmosphere, and began taking the development community by storm. While other libraries like Prototype still retained a certain level of complexity and confusion for newcomers, jQuery was ridiculously easy to grasp, thanks to the fact that everything is accessible, via the jQuery object (something that it’s, ironically, often criticized for).

Need to apply a class? Easy; doing so is tailor made for designers. jQuery allows you to use the CSS selectors you already know to query the DOM.

$('#container').addClass('ahh-yeah');

Fun Fact: Technically, though jQuery popularized the idea of a CSS selector engine, it was largely based on work by Dean Edwards.

And then, at some point, the timeline skewed into this alternate reality…

It literally couldn’t be simpler. By abstracting away complex code and browser quirks, developers could get back to doing what was important: creating websites and applications.

While jQuery’s community grew in leaps and bounds, the library, itself, also continued to mature and take shape. The world was peachy.

And then, at some point, the timeline skewed into this alternate reality (okay, not as Doc Brown as that), where, suddenly, if you labeled yourself as a proud jQuery user, certain members of the JavaScript community would consequently feel the need to stereotype you as an ignorant “designer” (regardless of whether you were or not) – certainly not a “JavaScript Developer.” How did this happen? JavaScript developers don’t use jQuery?


The Burden of Popularity

Everyone has an opinion about the spotlight.

It’s only natural that, once you reach a certain – for lack of better words – popularity, you open yourself to incredible amounts of scrutiny. Everyone has an opinion about the spotlight, it seems. For example, you’ve no doubt heard endless criticism of Catholicism. “They worship statues.” Is that the only religious body with questionable history? Surely not; but it’s the largest. The United States is one of the most powerful countries in the world. Naturally, everyone has an opinion. “Americans are ignorant and fat.” Ignore the good, and spotlight the bad.

jQuery is the most popular JavaScript library, by a landslide. Again, everyone has an opinion. I’ve read countless criticisms – everything from what it doesn’t do, to the structure of the code base. However, perhaps the biggest criticism of jQuery comes from a simple truth: its users, as an average, are less experienced with vanilla JavaScript, when compared to, say, Mootools. While some consider this to be a downside, I honestly view it as a strength – in an odd way.

The fact that jQuery has many less-experienced users is not its downfall; it’s a testament to its appeal.


jQuery Users Don’t Know JavaScript!

This is the argument you’ll hear more than any other. Again, a testament to jQuery, many people learn jQuery before vanilla JavaScript. There have been countless debates on whether this is a good thing or not. In fact, these sorts of discussions extend to all abstractions.

  • Should designers use CSS preprocessors and frameworks, like Sass and Compass, respectively, before learning the ins and outs of CSS?
  • Is it okay for a Ruby developer to use CoffeeScript without first learning JavaScript?
  • Should you use Modernizr before learning how to write a single feature test?
  • Is it okay to use CodeIgniter if you’ve only just learned PHP?

Personally, I feel that those who demand that newcomers first learn JavaScript before moving on to jQuery are missing one thing: JavaScript and the DOM are scary! If you throw the ES5 specification at them, they’re going to have a heart attack, unless they have a real interest in becoming a JavaScript developer. Many people simply need to add a few effects to their websites. We can’t always master everything. Are they bad people for choosing their priorities? Of course not.

JavaScript and the DOM are scary!

Compare this to simple Math. When you first learned how to add 2 + 2, did you do it the official way? I sure didn’t; I used my fingers. I bet you did too. Though it’s a huge simplification of the issue, is jQuery not the same way? It provides new JavaScript users with a simple and exciting entry point. Do you honestly expect them to learn about closures and objects and global variables before they even learn how to do something fun? Come, come, now.

The strict, “Learn it the right way, or you’re a fool” viewpoint is naive, and doesn’t take into account the various learning styles that we all have.

I view jQuery as bait. Hold it over the user’s head, get them really excited by it, and then, when they feel ready, they almost always move on to learning more vanilla JavaScript.

jQuery Users Write Poor Code

Once again, this is a massive generalization. Some of the biggest and most influential companies in the world use jQuery. But yes, there are lots of beginners who are still in the process of learning. Oh well; it happens. Poor code exists in every language. I’ve written a good bit of it myself, I’m proud to say! The best we can do is, rather than scorn them publicly, offer advice and tips when we can. We’re all learning. Do we really need to attack some, because they have different priorities and skill-sets?

With popularity, comes the potential for bad advice.

jQuery managed to generate this incredibly passionate community – from the hardcore JavaScript developers down to the designers who were amazed by how easy it was to get the job done. This passion subsequently lead to countless jQuery tutorials by community members – both good and bad. While still learning jQuery (something I’m still doing), I can guarantee that I offered some terrible advice at one point or another. It’s not too dissimilar to the PHP community. With popularity, comes the potential for bad advice.


The Ruby Community

This sort of pointless teaching almost hurts the community.

In the Ruby community, there’s an interesting dynamic. Tutorials are, to generalize things, written by the veterans. In other words, if you’re going to write a Ruby on Rails article or book, you should fully expect extreme scrutiny. If you don’t have a massive level of experience, don’t you dare write about it. In some ways, this is a strength. As a student, you can more easily rest assured that what you’re learning is correct. On the other hand, PHP tutorials are all over the place. Writers sometimes focus on the insignificant, and ignore the important. You’ll often find best practice PHP tutorials, which describe whether or not it’s faster to use single quotes or double quotes. Of course, this sort of pointless teaching almost hurts the community.

What Do You Prefer?

It’s an interesting thing, I must say. What do you prefer? A smaller, passionate base, or an incredibly popular one, consisting of all skill levels? There’s certainly pros and cons to each.

It’s undeniable that many of us feel a need to be trail blazers. Remember when parents began signing up for Facebook? Critics widely declared that the end of Facebook was near. Once you sacrifice exclusivity for wide appeal, people instinctively begin searching for the next thing. But that didn’t happen. The same is true for jQuery. Sure, some users have moved on to more comprehensive frameworks, like Dojo. But that’s to be expected, and should be a badge of honor for jQuery. For many, the learning cycle goes like this:

  • Learn jQuery; get excited.
  • Realize that you have no clue what this refers to in different situations. Learn JavaScript, and incrementally improve your old jQuery code.
  • (Optional) Advance your skills to the point where you need a more comprehensive framework for building large applications. Begin reviewing additional tools, such as Dojo.

Is that so bad?


Real Deadlines

It’s not like we’re coding in binary here, folks.

There will always be the advocates who suggest that you shouldn’t use a library – period. Given the current state of JavaScript and the DOM, though, I honestly feel that this is bad advice – particularly for newcomers. They shouldn’t be expected to wrestle with frustrating browsers inconsistencies so early in the learning process. And, many times, abstractions are a very good thing! It’s not like we’re coding in binary here, folks. When you use jQuery, or any other popular library, you’re benefiting from countless tests, bug fixes, and the best minds in the industry.

Now, certainly, you’re not required to use somebody else’s framework. Create your own library, if you have the ability; that works too! The goal is to:

  • Normalize browser quirks
  • Write less code
  • Benefit from as many minds as possible
  • Meet real deadlines, and get the job done

jQuery is not “a designer’s library,” but it appeals to designers. It’s not as class-based as other libraries, but this makes the entry point for newcomers far more painless. So what we end up with is a library that helped reignite the JavaScript community. It’s simple enough to appeal to first-timers, and powerful enough to be used by the largest companies in the world. Why exactly is it being criticized again?

Tags: jQuery
Note: Want to add some source code? Type <pre><code> before it and </code></pre> after it. Find out more
  • http://www.johnshammas.com John Shammas

    Good point about counting on your fingers. Using jQuery with only basic JavaScript knowledge is perfectly fine in my opinion, but one should at least be comfortable with the syntax—both with and without a library—to be able to write usable code that accomplishes a task in a straightforward way.

  • Muhammad Saqib

    Nice article dude.. i really think like you…

  • just a designer

    Nice article..
    Personally, im a designer with solid knowledge of php and mysql, and very good with html and css… but – i was never interested in javascript. However, I love jQuery because of its easy integration and milions of options. I dont think I nedd to learn javascript, yet… you think i do? :)

  • http://www.webmentor.cr/ Marco Berrocal

    I once started to train myself on Javascript and thought it was a bit complicated. I started to look at jQuery and fell in love with it and KNOW that it will give me the solid base to go with Javascript w hen I am ready. Sure, label me as whatever, but isn’t the point of a community to grow and chip in? And are we really going to argue about splitting hairs? Really.

  • bccomp

    When I started as a developer I hated JavaScript, but since I am using jQuery on a regular basis i learned a lot no only about jQuery but also about JavaScript!

    Great article! Thanks!

  • Thomas Slade

    JQuery is awesome, but can cause nasty problems with the ‘copy and paste’ types. Why use a huge plugin for something simple? If you are a frontend designer please understand how tabs, menus, and sliders work before pasting bloated plugins. Otherwise it makes my life more painful =)

    Great article Jeff!

  • bluroon

    great article. I think jquery is one of the best developed for web dev and haters need to deal with it. By the way i’m learning javasceipt, I think jQuery is more friendly code..

  • sarmen

    i wish javascripts syntax was more like jquery because to me javascript is extremely boring. i guess its cause im a server side coder and hate client side. but i still have no choice but to learn js

    • Zach

      As hipster as it is to say it, node.js puts the sex back into JavaScript. It’s a great environment for showing off JavaScript and its true potential.

  • http://brocknunn.com Brock Nunn

    jQuery is where I started! I was a copy and paste type, and learning the more finite methods of javascript through the need to further learn jQuery has benefited my both with my clients and myself. I think jQuery is an excellant place to start for designers. I think designers would benefit to be introduced to the next steps in JS sooner.

  • http://maomuffy.blogspot.com/ Mfawa Alfred Onen

    Nicely said Jeffrey! I believe in learning the simpler stuff and advancing from there. For me , it is just like learning procedural PHP programming to becoming more proficient with object oriented PHP where you kind of understand the need for modularity and cleaner, efficient coding.

  • http://www.xpesllhop.com ric

    yes, jQuery seems to be used by mostly designers, but that’s NOT because jQuery is targeted at them. it’s because it makes it easier to work in javascript. pro coders might not use jQuery just because they already know javascript, and being a pro means writing less code and bloating up your webpage (with the library), which sometimes might mean, not using jQuery also.

    i learned some javascript syntax, and although i rarely use it (because i use jQuery and it’s a different syntax) it can come in handy, but rarely. so yeah, i think people should start with jQuery.

    cudos

  • http://sunnyis.me/ Sunny Singh

    I love the analogies that you used, they make your point easier to understand.

    Completely agree that it’s not wrong to first start off with jQuery at all, because it’s a gateway drug to learning advanced JavaScript. There are numerous cases of developers and designers who first started off with jQuery, but are now learning advanced JavaScript techniques. Your code will always be messy and inefficient at first, but with time you will learn how to use jQuery and JavaScript to your advantage.

    Also let’s not forget that jQuery is not supposed to do everything. It’s good for DOM Manipulation, Animation, Event Handling, and Ajax. You will need to handle code organization for big projects yourself. Twitter uses jQuery, but looking through their source, it seems like they’re using modules and custom plugins to organize their code.

  • flyingfox

    jQuery users are fools?

    OK, let’s see.

    I am a web developer. Besides JavaScript i have to have a profound knowledge of:

    1. The design tools (PS, Fw, Ai, a 3D app and of course, the good old pencil and paper)
    2. The business stuff (marketing, accounting, taxes, legal issues, you name it)
    3. The whole code stuff ( HTML, CSS, server side technology (ASP.NET MVC in C# in my case, but of course, PHP as well, because you are exposed to it all the time), a data access technology (Entity Framework), database architecture, and so on.

    All of that has to be handled in the minefield of the www, with incompatibilites and parallel devs all over the place, and to add insult to injury, every six months or so someone rearranges all the mines.

    Oh, i forgot, work efficient, work fast, because your time is expensive and you have to make it in budget.

    And now, on top of that, some JS nerd comes around the corner and says “learn it from scratch”. This is as logical to me as blaming Michael Schuhmacher for not being able to construct a Ferrari (“oh, all you can do is drive it fast around a track, hmm not so great, don’t you think?)

    Business is about getting things done.

    I use the Entity Framework because SQL is plumbing and i am not a plumber, i am a web developer.
    I use the NET framework with MVC on top because developing core features and fiddling with HTTP is plumbing and i am not a plumber, i am a web developer.
    I use jQuery because cross browser DOM manipulation is plumbing and… you know it.

    I am a geek, and the difference between geeks and nerds is that geeks get it done!

    Who cares, if i use 10K more bandwith or if the code is not perfect? My clients don’t. My domain models are beauties, they reflect my customer’s business perfectly. That’s where my focus lies on – thoroughly understanding the customers business and translating that into elegant, maintainable, future-proof code.

    Remember that, you nerds. Keep on striving after the perfect JS code, we geeks get it done in the meantime. ;)

    Agree with you Jeff, jQuery is great. It doesn’t do everything for you, but it can do a whole lot with ease. It’s a swiss army knife.

    • Ben

      Wait …. Who cares, if i use 10K more bandwith or if the code is not perfect? …. Your not a very commited web developer then are you?

      • flyingfox

        Oh, come on, read my post!

        The world is full of compromises, especially the web dev world. My compromise is “make it work, make it work fast and robust and inexpensive”. jQuery is great for that. My customers are happy with that attitude. If your compromise is “i will make it perfect but it will take long and cost you a thousand bucks extra” and that is fine with your customers – great. Congrats for having so wonderful clients, but don’t call me uncomitted. I live and breathe the web 24/7. I just seem to have a different opinion on what matters and what doesn’t.

    • Joe

      Dude… dude, relax! No one is having a go, that was the whole point of this article.

      And I don’t understand what your saying about nerds and geeks? Neither are terms which specifically allude to programming or programming habits?

      • flyingfox

        I’m completely relaxed, but thanks for caring. I’m just a little surprised, that one can actually blame a framework for being versatile and easy to use – isn’t that what it is all about? And in my whole career i have not found one serious coder who would even consider getting along without frameworks. Anyone who does can’t actually be involved in non-trivial real-life projects in my opinion.

        About the nerds and geeks thing, well i guess about 95% percent of us coders would be considered a geek by the rest of the human race, so i think there is a connection. And among coders i found two different breeds in general, nerds and geeks. It takes about a workday to separate, the difference is simple – geeks get it done, nerds don’t. They are brilliant minds oftentimes and great company for having a beer after work, but they drive you crazy because it is almost impossible to keep their focus on the final product. Geeks on the other hand are often snobs (i guess i am one) and come around arrogant but they spit out results in no time because their focus is not on the code rather than the money they earn with it. Because of that, their programming styles differ completely.

        But this is just my personal observation, and, of course, it is a dramatic simplification. I just haven’t found a better description for that phenomenon.

        Cheers

    • Joe

      Ok, the way I understood ‘nerds’ and ‘geeks’ is:

      nerd – someone intelligent with some kind of obsession or other
      geek – someone who is socially inept

      Although there always seems to be overlap/confusion between the 2, so I don’t know if that’s totally accurate.

      I can see what you’re saying though – someone more intelligent might get bogged down in the details of something and getting it perfect whereas someone less obsessed will just get the job done, fair enough.

    • http://thegoodlab.com Bryant

      I very much agree with what you are saying.

      Being a business minded developer, where our cost is a function of our time, it makes total sense to use tools and methods that let us build sites faster and let us better utilize our time. jQuery and other Development frameworks apply some convention and structure to the way you write code, and may have some performance overhead, but in general the reason we use them is to build things faster with more ease.

      Like you said, if a client says performance is the number 1 goal of this site, that may change the tools or frameworks we use, but with most of my clients, performance is somewhat negligible (its either fast or slow) and the minor performance hits are not an issue.

      The gray area of building things quickly vs. putting in lots of time to optimize the product is a decision every developer and company will have to define for themselves. The best way to define it is, are you still getting work with the quality of sites you build? If you sites are taking too long to build with huge budgets, maybe you should sacrifice some quality for time. On the other hand, if your sites are crawling and users are having a hard time using the site, maybe you should take some steps to optimize your code.

    • maltray

      U took the words out of my mouth, I totally agree with you in every single and each point of what u said.

      PS: I think the title is a little offensive, also, I’m not a designer, but a web developer and I do use jQuery, I’m a huge fan of reinventing the wheel, but for things that I know I can do better than the ones that are already done and just accomplishing what I want them to do, I’m not gonna write each time I want to animate something on a frontend a function of hundreds of lines to make it cross-browser, and make it work wich is most important, cause theres a function that already does it for me in jQuery, and does it perfect.

      Cheers

    • Armagedon

      You are not plumber? Are you sure?
      And one more question: what tool you are using for substitution of the thinking?

  • Carlos

    My experience with jQuery has been nothing but awesome. When I first started in the Web design/development arena, I had the impression Javascript was going out the window and Flash had a huge part of the market. Come on, people were making simple animated dropdown menus in Flash via a timeline because it was easier to do than in strict Javascript.
    When I found jQuery it got me really excited about actually learning Javascript. Granted I am still learning jQuery and straight Javascript, but from what I have seen with the combination of HTML5, combined with CSS3 and jQuery and Javascript. The landscape is getting blown wide open for the most endless possibilities.

    jQuery is a huge time saver, it is normalized and usable across all browsers, you don’t need a browser plugin to use it (Flash, Silverlight, etc.). You can get HTML classes instead of just getElementById, which is one of the most frustrating thing with straight Javascript is the hoops you have to go through to just get a class selector and add a style to it.

    Excellent article, great work. I give major props to the jQuery crew for making a great library and for actually keeping it updated and constantly striving to improve it.
    Oh yes, the early signs of Popcorn.js are extremely promising as well. Granted it is not cross-browser quite yet (anything older than IE8 maybe IE9) but is an excellent addition to the world of web development.
    If jQuery added Popcorn into jQuery or vice versa, which I think they might have, I am still unclear on that, it would be an even more awesome. The HTML5 movie timeline selection and adding elements to the page based on the time stamps of the video element is awesome.

    Thanks

  • Pedro Magalhães

    jQuery was the lever that made me want to learn vanilla Javascript!

  • http://dustindiaz.com Dustin Diaz

    If I remember correctly, it was based on the work of Simon Willison’s `getElementsBySelector` from 2003. Might want to correct your fun fact.

    • http://www.jeffrey-way.com Jeffrey Way
      Author

      Hey Dustin – I remember listening to a podcast, where John was talking about learning a lot from the work Dean was doing in that area. But maybe Dean’s work was based on getElementsBySelector?

  • http://www.webmaster-source.com redwall_hp

    There seems to be a commonly held belief that jQuery users are ignorant, and, more often than not, designers.

    Reddit.com includes jQuery. You could hardly accuse them of being designers. :)

  • Keith McLaughlin

    The fact is people who code (Javascript, PHP, Ruby, etc) will always expect more from people who design and vice versa.

    If you’re a coder you’ll never fully understand what it is to be a designer (spacing, margins, typography, etc).

    The same can be said about designers. They won’t ever be real coders (unless you’re lucky enough to be talented enough to do both).

    It will always be this way. Why can’t we all just get along? You have your strengths and I have mine.

    It’s time to stop bashing one another!

    • Adam

      You can be both. I started out as a designer and have moved into being a full programmer working in Coldfusion.

    • http://japaalekhin.llemos.com Japa Alekhin Llemos

      I’m a developer and designer at the same time and yes I know about margins and typography and I’m most of the times strict with both.

  • Josemi

    I’m not agree with that. For a fast productivity jQuery is more useful than JavaScript, by only one reason: timing.

    Develop with jQuery is faster. That is their success. In my work we have short time for the most of the applications we develop, so jquery it’s a great help.

  • http://www.iconwebdesigns.net Dean

    I remember the first time I wrote:

    $(“#element”).remove();

    I really needed it to work and it did.

    I had no clue about DOM or JavaScript or whatever. I just needed it to work.

    It’s easy to get elitist comparing languages and frameworks. But the bottom line for me is I got stuff to get done. jQuery and other frameworks help me make it happen.

    Project done. Time to bill the customer.

    ‘Nuff Said.

    • http://www.stookstudio.com Erwin Heiser

      Amen!

    • http://www.youtube.com/user/izvarzone AntoxaGray

      Another reason I love jquery is that you can change $ for anything. I changed it for a two reasons:
      I want to write code without using shift, and because I always misclick $ on keyboard (same for &, but unfortunately I have to deal with it).

  • Jeffrey Briceno

    Excellent editorial.
    I think that refusing to use a framework for repetitive tasks like having a hammer and still use a rock to pound.
    And are very agree with you Jeff, Vanilla javascript es boring, but is very necessary for make aplication more strong

  • http://www.darma.web.id darma

    Nice article!
    I honestly think that jquery is more friendly and more easily applied than to learn javascript from the beginning, it would be very time consuming, especially for newcomers. but it is also true that why use a huge plugin for something simple? Finally, all depending on the needs and preferences of each and there is nothing wrong.

    Btw, thanks for this great article.

    Darma.

  • http://joshwhitedesign.com Josh

    My 2 cents:

    One problem is that more often than not designers are wrapped up in keeping track of all the new front end basic technologies and still keep up with new visual advancements. Many designers work solo and usually don’t have a really good set of project management skills, so having someone always on the backend to make sure the cool little animated pieces work and are programmed well just don’t pan out.

    The other problem is that I think people dismiss designers in general, with or without jQuery. It’s a problem of really understanding one another’s field. Designers don’t generally understand the complexity of all that “programming stuff” and programmers have a hard time figuring out why it takes so much effort to just make it look pretty. That’s not every situation, but it does happen quite a lot.

    I am a copy/paste guy when I just can’t get it done with someone I can trust to do the work. I hope some day I can built a solid relationship with some other people to continuously push work to, but until that kind of money comes in my options are limited.

  • http://marcgrabanski.com Marc Grabanski

    I wrote JavaScript components before jQuery and so although I can write entire JS apps without jQuery I chose not to. I love jQuery, it shaves tons of code off and makes my code more readable to more people. I completely understand why you wrote this article…unfortunately it seems like people who would like to label themselves “hardcore” devs want a gold star if they use a different library than jQuery. Most cases they aren’t as much elite rebels as they are obfuscating their code with unnessesary layers of abstraction.

  • http://twitter.com/rwaldron Rick

    Great article, the ES4 reference is odd though haha (ES5?)

    @carlos – thanks for the Popcorn.js love! I work on both jQuery core and Popcorn core, and while I truly appreciate your enthusiasm, there is no plan to merge the projects. :)

    • http://www.jeffrey-way.com Jeffrey Way
      Author

      haha – fixed.

  • http://elruinnou.co.cc erwin

    i thought only the fool who just copy and paste it FOREVER, the NOT fool one(almost every web developers) would dig it and maybe make another framework

    • http://www.justforthealofit.com/ TheAL

      A fool would be one who copies and pastes and never learns how to code with it. Agreed. But I don’t see how the necessary next step should be developing a whole new framework. Trying to reinvent the wheel and having a lot of unnecessary, redundant alternatives is something that is kinda plaguing the web right now.

  • http://www.pelican.com.my Edwin

    Excellent article and good points.

  • http://kustomdesigner.com/ Mike

    I’m actually just getting done with an intermediate course on plain ‘ol javascript. It’s actually not that bad to learn, and I’d say if you don’t have any programming experiencethen it’s a good place to start. I tried learning php before I took these courses and I was in way over my head, now I skim through some tutorials and it’s really not too hard. I can do everything I do in Jquery with plain javascript except building sliders, I’m still not there yet but then again I can’t even write my own in Jquery yet. I think that having a solid grasp on the core language will make learning Jquery so much easier, especially knowing what javascript can and can’t do. If anyones interested you can take some good Javascript classes over at E-classes.org, they really helped me and they are a steal at $120 a piece. Cheers and great article as always Jeff, you really have a way with words and an ability to teach like no other, your video tuts are the shiznit.

  • http://www.justforthealofit.com/ TheAL

    jQuery is easy, and a lot of the hard stuff is pre-made. It really is javascript for the everyday user, and it’s a huge plus for designers who can’t code a lot. It’s also a big productivity booster for programmers and coders who can do vanilla javascript, but need solutions fast and repeatedly. As someone who has dabbled with js since about 2001, I personally like jQuery.

    On the flip side, it’s easy to become dependent on it. Even a lot of jQuery “developers” I know couldn’t make a lot of the behind-the-scenes code on which their plug-ins rely. If jQuery up and vanished, a lot of front-end developers out there would be up poo creek without a paddle. Once you’re comfortable using jQuery, learn how to develop plug-ins. After that, learn how to make bigger contributions, like extensions or additions to the core. Eventually, just push yourself to be good with plain javascript. A lot of jQuery users will continue to use it as a crutch, but there is hope for some.

  • kankuro

    All I can say to those persons who says “jQuery users are ignorant, and, more often than not, designers”, you’re all jealous….

    jQuery is write less do more… ok!!!

    • http://www.justforthealofit.com/ TheAL

      They can be elitists, and a bit smug/obtuse, but jealousy doesn’t make much sense. If they can do in vanilla javascript what others need jQuery for, they could probably write even better jQuery even faster.

  • http://www.xcellence-it.com/ Xcellence-IT, Web Development Experts

    I agree for one part, that most jquery users I have seen/met are novice in writing vanilla javascript and are actually a designers and not coders. But I have also seen few developers that understand vanilla js and write superb jquery code too.

  • http://synfyre.net/ n1tr0b

    Instead of reinventing the wheel, why just innovate it?

  • just

    Whether any of you believe this post reply or not, I will tell you this….

    I recently put jquery on my resume. Although I had very minimal experience with core DOM JS, I was able to write a simple Jquery program. When i executed my first, $(document).ready I was hooked.

    I am NOT A JQUERY GURU. I am not a JS expert. I am probably like 80% of you out there reading this – when you are posed with a task using this framework, you use Google, you try example code, you modify and adapt. And if you lucky, like myself you get paid a great salary.

    To anyone who may have misunderstood the article title for a NEGATIVE ARTICLE , let me tell you – use JQuery, and take advantage of its simple syntax. In the process, you will be forced to learn the true ins and outs of Javascript ( if you are a true programmer ) lol

    TO RE-ITERATE… And again, really don’t care whether you believe this post reply or not, but the last question on my latest interview went like this…. ( which will clearly show my in-experience with JQuery )

    Employer: “Tell me, If we needed something done using JQ, how would you begin?”

    ME: [ I SH!T YOU NOT, this was my EXACT RESPONSE ] – “Well, I would check the JQ forums and community code, as I am sure there is nothing someone could ask that has not already been done. From there, I would modify the code to fit my needs.”

    He followed with one more question…

    Employer: [awkward pause] “Ok, but what if we needed you to write a custom JQ function to access a form in our banking application that would highlight and validate mistakes before the form is submitted and also provide client side rate information depending upon which products chosen. How would you approach that?”

    ME: NO BS…… “GOOGLE”

    Long story short, I now work for US BANK with a (barely) 6 figure income.

    And have Jquery to thank. Jquery was so easy to learn, that I was able to wing it with each and every task given to me,

    Three years ago I was

  • Dieter

    In school we’ve learned the basics of javascript and then we made the step to jQuery. In my opinion that’s the best way!

  • http://www.autocompletefail.de Lunkejung

    Very nice article man! i hate it, when other developers talk bad about jquery and there pros!

  • http://twitter.com/jholyhead James

    JQuery is just an abstraction on top of JavaScript, just as JavaScript is an abstraction of something else. You could write more efficient code in a lower level language than you could with JavaScript, but why would you bother, when JavaScript, like JQuery, does the job?

  • http://dreadcast.com dreadcast

    I’ve started using JS libraries in 2006 (I had basic JS knowledges before) when reading an article. It was a review of Dojo, Yui, Jquery, Prototype, Moochikit and Mootools. So I checked out the docs and demos and opted for Mootools, which seemed to be close to JS. Afterwards, Jquery was so popular that I tried to get into it. It’s syntax was too baffling for me and the fact it isn’t class-based repelled me.

    I do believe Jquery’s a huge plus for designers who want to boost their productivity, but when it comes to build big applications, there are better tools. In that case, Mootools and Dojo are strong, Ext is great !

  • Tom

    Full ack! You read my mind on that :)

  • http://www.krsiak.cz/ Krsiak Daniel

    hi,

    good article

    I am one of those people who knew nothing about JavaScript
    started using jQuery beacasue it is easy to learn and use

    but after some time I realised I actually WANT TO KNOW MORE about .js
    that is the biggest difference between copy / paste and will to improve ;)

  • physicsmazz

    Great article! I never had any urge to learn JavaScript…until I used jQuery.

  • http://vanderwijk.nl/ Johan van der Wijk

    I love using jQuery, it really helps me deliver my projects on time and thanks to the excellent tutorials and sample projects I can easily find code snippets to adapt. Some purists might not like this approach, but it really helps me speed up development and with every new project I learn something new.

    I built this slider – see http://www.vanderwijk.com/slider/demo.html – using jQuery, it works and my client was very happy. Does it matter that I have cut some corners by using jQuery? Of course not :)

  • nomi

    well i am newbie .. thanks for everyone to share their experiences . what i conclude that i am going to learn jquery today (even i know js little)

    Thanks for article

  • VF

    A needed article as jQuery is now taking the role of Flash (atleast some part of it) and reduces the big burden of browser patch works regardless of it is designer or coder.

  • http://www.mithunjj.com/ Mithun

    What a wonderful and detailed explanation about the beauty of jQuery. Expecting more articles on the same line(jQuery).

  • Richard

    It`s all about money, people shouldn’t care about this.

  • https://timshomepage.net Timothy Warren

    jQuery was my entry drug into javascript. But then I learned that the DOM isn’t that bad anymore, if you exclude IE 6 & IE 7.

    My problem with jQuery is probably one of it’s biggest appeals…it has too much backwards compatibility, and too much functionality. This is not because I hate either backwards compatibility or functionality. This is because jQuery is a BIG library to include for most of its use cases.

    jQuery is a time saver in many respects, but less so in load times, especially in mobile, or other slow-connection situations. As a internet user, I expect fast load times, and don’t care how long it takes for it to have taken to make it fast. As a developer, I’m pressured to finish a site quickly. It’s a difficult balance.

    • http://www.csskarma.com Tim Wright

      well put sir.

  • http://www.csskarma.com Tim Wright

    I’m an advocate of learning native (vanilla) JS before jQuery but certainly get the other side of the argument. A lot of people just don’t need or have the desire to write intense JavaScript, and that’s totally fine. I think the problem with jQuery lies in the amount of plugins we use in a site. When we stop being developers or designers and start becoming “web constructors” and let others do all our thinking, which can negatively effect the user experience. But yea, you will get the job done faster.

    Libraries and Frameworks are great when they help us solve problems, but they get in the way when they prevent us from thoughtful design and development. Finding the balance is, of course, difficult.

    Helping us with ajax cros-browser issue, jQuery +1. Pretending to solve slideshows with 200+ plugins we pile into our sites and applications, jQuery -1. So there are of course pluses and minuses to all of this… I could go on, but this is just a comment. Overall, jQuery is great but as browsers get better and better, we’ll have to evolve to something else.

  • Duane Gran

    I’ve written JavaScript that has run into the thousands of lines of code and most of it did what I can do with JQuery in a fraction of the space and time. I’m more than happy to have “sweat profusely to manipulate the DOM” checked off my list of things to do when programming.

    The stuff that gets people is when they need to do good old fashioned business logic after the window dressing is in place. Knowing how type conversion is handled and what it means when arithmetic results in “NAN” confuses people. JQuery lets you feel like a rock star but you still need to know the language to get things done.

  • http://rommelcastro.me Rommel Castro A.

    excellent article!!!

  • Alex

    There seems to be a commonly held belief that Photshop/Illustrator users are ignorant, and, more often than not, developer.