JQuery UK 2013 – write less JQuery, do more, faster

On Friday I had the pleasure of attending the JQuery UK Conference in Oxford, and I thought I would share here my thoughts on what I took to be one of the recurring themes of the conference. Plus, I realise I haven’t written anything on here for quite some time!

Interestingly, for a JQuery conference, many of the talks aimed to subvert the JQuery mantra of “write less, do more” and move us towards “write less JQuery, do more, faster”. This in itself should not be taken as a death knell for JQuery, but rather an acknowledgement that we are (thankfully) moving towards a brave new world where JavaScript implementations across browsers have begun to coalesce.

Remy Sharp’s talk ‘So you know JQuery. Now What?’ was an eye-opening tour (for those of us so used to the JQuery way of working that we’ve forgotten how things used to be done!) through the already available objects, methods and members in the browser, for which the use of JQuery to achieve the same results may be overkill! For instance, do I need to make calls to

$(this).val();

when I could simply do

this.value;

? Or even the all-powerful

$('.foo:disabled');

when

document.querySelectorAll(".foo:disabled");

works with newer browsers (IE9+, but also IE8 for CSS 2.1 selectors)?

Although much of the benefit to using JQuery is in cross-browser solutions, perhaps it is the case that there is a Polyfill out there with a smaller footprint that you could bring in instead? Although, Remy was carefuly to say that if we’re bringing in many Polyfills then perhaps something has gone wrong with the decision not to use JQuery in the project…

Richard D Worth‘s earlier talk, representing the JQuery Foundation, announced the release of JQuery 2.0.0 (for those of us that hadn’t heard the news in the early hours of the morning), which drops support for IE6, 7 & 8, although JQuery 1.9 will continue to match the API for as long as it takes. The advantage to dropping support for these old, old browsers is that they can get the file size of JQuery 2 down by 12%!

Following Remy, Adam J Sontag‘s talk again touched on the idea that JQuery is perhaps not the best tool for every job, but rather a great tool for certain jobs: to quote, “jQuery is a Swiss Army knife attached to a Swiss Army knife”

Adam’s talk was a riposte to the naysayers that JQuery is for those that don’t know how to use JavaScript. As Adam said, we all have to start somewhere, and for him JQuery was a gateway drug into programming, getting the tricky bits out of the way so that he can “write less, do more”. However, he did acknowledge that there is a trap of making an assumption that JQuery (and $()) is a catch-all silver bullet, and lots of “cheap” actions are repeated unnecessarily if we don’t pay attention in our code, as we run round and round the DOM!

John Bender gave an interesting talk on using Category Theory to seperate out concerns within the JQuery framework, allowing for faster DOM manipulations, which led to the creation of Wield. In the talk, John made reference to the creation of new methods on the JQuery object (Plugins) to demonstrate how the actual functionality of the plugin can be seperated out and the maths behind that process (I’m going to give myself a tiny pat on the back here for keeping up with the mathematical notation John used in the talk: and there was me thinking I’d forgotten everything from my degree!). Which (I think) ties us nicely back to Remy and his sidebar on certain JQuery plugins that, when you dive into the code, with some tweaks wouldn’t actually require JQuery.

There was much talk on creating faster code/sites across the conference and various benchmarks displayed to go with, but Ilya Grigorik took us on a whirlwind tour of Chrome’s dev tools for uncovering bottlenecks, which is well worth looking further into at the related Code School tutorial. As did Remy, Ilya touched on the use of CSS in animations and how it can improve speed as it works directly with the GPU, so, where available, can be a better bet than using JQuery/JavaScript.

To sum up, it seems that as we move into a world where more and more web sites are viewed on mobile devices, with perhaps less power than a desktop machine, limitations on battery life and slower connections, all of these little choices on how to use the amazing swiss army knife that is JQuery are becoming more important and we should be using that multi-tool as a scalpel rather than a sledgehammer (to really strain the metaphor!).

Anyway, don’t just take my word for it, you’re much better off taking a look at the related slides/blog posts/tutorials yourself as my memory is probably slightly fuzzy from the sheer amount of information I was trying to take on board on Friday! But, following the conference I really feel inspired to start diving into JavaScript a bit more, possibly starting with some WebRTC following a really great talk on the Rising Stars track from Ben Foxall (disclosure: I may be slightly bias as I keep bumping into Ben at various dev events around Oxford, and he’s a really lovely guy!).

I look forward to the next one!

Leave a Reply

Unable to load the Are You a Human PlayThru™. Please contact the site owner to report the problem.