So Do You Need jQuery or Not?
There’s been a lot of talk lately about the necessity of tools like jQuery for web applications in 2014. This is a result of a link that was posted on Hacker News this past week, fueling a large debate with parties from each side defending their position on going without tools like jQuery.
Proponents for these tools argue that some of the examples on the You Might Not Need jQuery site are misleading by making assumptions that you already have handles to certain elements you might otherwise be retrieving by jQuery selector, or overly basic examples that don’t accurately reflect real-world usage.
On the other wise of the argument, I generally agree with the sentiment that developers who are writing a reusable framework that doesn’t involve much DOM manipulation should make attempts to refrain from including jQuery as a dependency.
jQuery’s biggest selling point was its ability to obscure away all of the nasty browser quirks and inconsistencies between much older browsers. If you’re targeting only modern web browsers (IE10+ and latest versions of Chrome, FIrefox, Opera, and Safari), I think you can easily get away with going without jQuery, especially if you’re starting a new project with the assumption that you want to avoid jQuery.
I think another one of the big cases for jQuery is that it’s become ubiquitous. Everyone knows jQuery. Getting someone up to speed on a large web application takes time, and developers with a jQuery background are much more plentiful than those who’re familiar with the newer web standards that enable a lot of that same functionality.
At Cartegraph, we’re lucky enough to not have to support web browsers older than IE9, but we still use jQuery. We use a variety of features provided by jQuery beyond simple selectors and UI effects. We make extensive use of jQuery’s Widget Factory to construct entry points for our UI views and it’s worked really well for us. We also use jQuery Events for our global pub/sub model.
Passionate software developers take their tools seriously. Like any true craftsman, we always need to make sure we’re using the right tool for the job. Sometimes the tool we’re most familiar with is that tool, sometimes it isn’t. It’s good that we’re talking about it though.