Last weekend we attended the jQuery Europe 2013 conference. Hosted by Gentics, the conference was held at the Palais Liechtenstein, a beautiful garden palace in Vienna’s 9th district. Needless to say, we have never attended a conference at a more stunning location:
Spheric Panorama of the jQuery Europe 2013 conference hall
There was also a separate room for ad-hoc presentations, an XBOX360 Kinect station and a chill-out area where you could get free banana smoothies (that were delicious).
The speakers were first-grade, from companies like Google, Mozilla, Microsoft, the jQuery Foundation and many others. Since there were too many interesting talks to cover everything in detail, we will only point out some of the highlights:
Cory Frang did the first technical talk of the conference, on the new jQuery UI Widget Factory that makes developing plugins a lot easier for developers. It was introduced in jQuery UI 1.9 and the team immediately started porting all of their current widgets to the new system. The slide to his highly in-depth talk can be found here, and you can learn how to use jQuery UI Widget Factory here.
Separation of Concerns
This is not okay. Even if you just call jQuery’s
.show() methods, what actually happens is that the element’s
style attribute is set to
display: none or
This does not mean that those methods should never be used. Just do not use them in situations where you could just solve the problem with pure CSS. Hiding and showing, for example, can be done much more elegantly by setting adding and removing classes. You could call the class
is-hidden and add it to any element you want to hide. This has a number of benefits:
- You are not violating the “Separation of Concerns” principle.
- If you are showing/hiding a large number of elements, you can gain a large performance boost by simply setting a class on a parent element and then hiding the children accordingly, with CSS.
Using this kind of state classes is useful not only for showing and hiding things, but for everything that has some kind of state. You can read more about this and also about combining CSS3 animation with jQuery in the slides.
“Everything will just work.” – But sometimes it doesn’t!
Also, the main focus is now on the mobile web, which means that we have to support a large variety of display sizes, and that performance is more important than in the previous years. Every time we use jQuery to animate something instead of using CSS animations (which are hardware-accellerated!), we are hurting performance a lot. Every additional library we use makes our app slower and drains the user’s battery faster. Some other ways to improve performance: using
requestAnimationFrame instead of
translate instead of absolute positioning, and touching the DOM only when absolutely necessary (never forget to cache everything you query with jQuery selectors!).
You can find Christian’s slides here. He also wrote a thorough blog post about this topic, covering most things he mentioned during his talk.
Going Mobile & Securing the Client
Day 2 was kicked off by Todd Parker who is project lead of the jQuery Mobile project. His talk about responsive web design is not yet available online, but when it is, you can get it here.
My personal highlight on day 2 was Mike West’s talk about client side security. The slides alone don’t do his entertaining and educational talk justice, but he wrote blog posts about the two most important topics from the talk, and you should read both of them if you care about the security of your users: The first one is about secure cookies and Stict Transport Security, and the second one is about Content Security Policy, which was co-edited by him and is currently a W3C Candidate Recommendation. Again: Click all of the links in this paragraph and read everything, it is worth your time!
The conference was wrapped up with a quick round of “jQupardy”, which is Jeopardy with questions exclusively about jQuery. Everyone in the audience could participate and anyone who got their question right won a giant box of Manner Schnitten.
The conference was apparently sold out and the speakers as well as the audience enjoyed it a lot. If there is a jQuery Europe 2014, we will definitely be there!