Want a free year on Tuts+ (worth $180)? Start an InMotion Hosting plan for $3.49/mo.
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?
What you mean is, "I hate the DOM API."
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.
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.
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.
The fact that jQuery has many less-experienced users is not its downfall; it's a testament to its appeal.
- Should designers use CSS preprocessors and frameworks, like Sass and Compass, respectively, before learning the ins and outs of CSS?
- 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?
Compare this to simple Math. When you first learned how to add
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.
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.
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
- (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?
It's not like we're coding in binary here, folks.
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