This is a post from PayrollHero Senior Engineer Suman Mukherjee who recently arrived in Whistler, Canada from the Manila, Philippines office. #AdventureEngineer
On February 12th, the PayrollHero dev team in Whistler travelled down to Vancouver to attend the Vancouver JS meetup. We reached town a bit early, so we spent some time coworking from Launch Academy. Later in the evening, we went to SFU Harbour Center where the event was being held. Around 150 people attended the event. Two top notch speakers presented in the meetup. Robert W. Hurst of Chloi presented a talk on LucidJS and Perter McLachLan of Mobify presented a talk on Mobile performance.
Robert’s talk on Lucid started with giving us some background of event driven programming, how events are emitted and handled and we can structure our javascript around that pattern. Then he introduced LucidJS, a library, that he has been working on. Lucid allows you to set custom event, chain your events and even pipe your events together. Lucid also successfully handles subevents. The event emitters in Lucid also provide meta information about the event bindings and triggering. The library lets you encapsulate any object (not restricted to DOM nodes) and turn it into an event emitter. Specifically when used with DOM elements it allows you to take full advantage of the meta events. Robert’s talk gave us some new insights into the world of event driven programming.
Peter was the second speaker. Peter’s talk was mainly focussed on performances of apps on the mobile browsers. He shared the concept of adaptive websites, one that is not only responsive, but adapts itself based on the device. He discussed several strategies to optimize client side performance like trying to minimize JS and maximize the use of CSS, conditionally loading assets and keeping the DOM tree light so that it is easy to parse, simple CSS selectors, watch out for libraries that generate lengthy CSS selectors etc. Peter shared a list of common JS functions which restructures the DOM and how that affects the performance on mobile devices. He also discussed some other low hanging fruits like gzipping resources and non blocking scripts in the beginning of the page. This can bring returns at the lowest cost. He also showed us how the optimization strategy of domain sharding has become an anti-pattern. He also discussed how in some cases prefetching resources based on a user’s common pattern of navigating a website can be very effective in delivering content faster. Peter’s slides are also available on speakerdeck.
Both the speakers were awesome. It was the first meetup I attended in Vancouver and totally loved it. Those who love JS and are live close to Vancouver can sign up for the VanJS meetup group here.
– Suman.