JavaScript and Drones: Insights from JSConf 2018

Last week several MJD engineers attended JSConf US 2018. This year’s event in Carlsbad, CA drew JavaScript enthusiasts from around the world to MJD’s neighborhood for a series of talks and activities. This article highlights some key sessions and takeaways from the week.

Day one of JSConf dug into an analysis of different frameworks and their popularity with a Keynote talk given by Laurie Voss, COO of node package manager (npm). Voss discussed significant conclusions from a year’s worth of npm’s research into user behavior and download patterns.

Regarding the popularity of JavaScript front-end frameworks, Voss described Vue.js as “the new hotness,” though React remains the clear front-runner. In short, 60 percent of npm users use React, Angular sees fewer downloads, Ember sees a revival of healthy growth and Vue is roughly as popular as Ember. Voss noted a slight decrease in React’s download numbers, noting that Vue’s rise is likely hurting React’s numbers.

Breakdown of frontend framework popularity

For the second day of the conference, attendees had the option to choose from a range of activities including surf lessons, a visit to the San Diego Zoo, or on-site Node.js related projects. The MJD team opted for Node Copters, where teams received one Parrot AR Drone 2.0 and spent the day programming and playing with it. The team wrote custom scripts to control the drone’s movement, and control takeoff and landing behavior.

Day Three: Style and Compile

Following a day of various activities, day three brought JSConf-goers back into the conference rooms for two tracks of talks with topics ranging from data-driven CSS to the state of compilers in web development.

In his morning talk, Chad Hietala of LinkedIn’s infrastructure team broke down the history of compilers including Closure Compiler and Webpack. Hietala discussed the emergence of WebAssembly as a key to future improvements in performance and dove deep into how compilers work under the hood.

Many of the talks included a breakdown of how technology has changed over time. Veteran CSS developer, Miriam Suzanne, spoke about the growing support across the web for CSS grid and custom CSS properties enabling developers to inject styles with raw data, manipulating layouts on the fly.

After lunch, fellow San Diegan Bradley Spaulding gave a talk titled “Universal React Applications with Redux,” which delved into his company’s experience with sharing code between multiple different applications both on the web and in React Native apps. One interesting concept he discussed was moving large Redux operations into a Web Worker. We’re big fans of Redux here at MJD, so this is an idea we’ll be exploring.

Near the end of the third day, Suz Hinton talked about WebUSB. WebUSB is a new API that allows one to control USB devices from a web browser. Suz explained how in the past developers needed to use other software like Flash to be able to control USB from browsers. Now with Flash blocked by default in browsers and with similar solutions being difficult in different ways – it is not a pleasant user experience to enable communication with USB devices in the browser. Now with WebUSB, those problems will be gone, and browser users will see the same sort of familiar UI asking for permission to use USB devices just like when a browser asks for permission to use a webcam or location data.

WebUSB is currently only supported in Chrome (including Chrome for Android – and it is a little bit buggy), but people, including Suz Hinton, are pushing for support in other browsers. Soon it may be possible to use the API in all browsers. Even with support only in Chrome, it will be possible to create fun experiences easily without as many layers of software between your web app and your USB devices.

JSConf 2018 helped solidify several of the technical decisions MJD has made in the past few years for web projects. The broad range of talks gave the team a fresh perspective on the state of front-end frameworks and browser capabilities. The engineering team was able to confirm the viability of its decision to utilize React on its most recent projects including The Container Store Organization Studio and American Girl Create Your Own Experience.

Though Angular and Vue.js are powerful frameworks, according to Voss of node package manager, “if people start re-using React modules, React will live forever.” Over the course of the conference, the react ecosystem dominated front-end-related talks including “Universal React Applications with Redux,” and “Creating Accessible React Apps.”

Within the React ecosystem, Redux and GraphQL were buzzwords throughout the week. Our engineering team has experienced these tools scaling well on projects for major retail clients, and we plan on continuing to dig into the flourishing React ecosystem on future web projects.

At MJD, we work hard to ensure that industry trends guide our technical decisions. As the MJD team continues building cutting-edge digital products for our customers into the next year, we hope to capitalize on technical insight from JSConf 2018.