Before I get into this, let me put it out there: I think jQuery is great. As a Front End Developer it makes my life easier almost every day, and worrying about cross-platform issues is a thing of the past. But I do think that all too often jQuery is an assumed part of a website when it doesn’t need to be.
In terms of reasons not to use jQuery in a website, instead of not in a tutorial, one clear reason is performance. While I appreciate that minified, gzipped and served from a popular CDN this overhead can be significantly reduced, it is still there, and as developers, we need to be aware of it. In the early stages my portfolio redesign I found myself, without thinking, including jQuery simply to toggle a class onclick, a task easily achievable without the extra request and page weight. While I could have reduced this impact by building only the recent modular version and only including the parts I need, but then this seems to defeat the point of the CDN and in some cases would actually increase loading time.
I’m not advocating that we stop using jQuery and other libraries all together, because that would be stupid, but I think we’ve become too dependant on them. Before including a library in a project, take a moment to think. Ask yourself: “What you’ll be using it for?”, “How many times will I be using it?”, “How big will the project be before and after including it?” and “How else could I achieve the same result?”.
Rewriting my site