CascadiaFest 2016: Pioneering With JavaScript and CSS, PacNW Style

Last week, a number of us from the Seattle office headed up to the excellent CascadiaFest web development conference in Semiahmoo, Washington, right on the Canadian border. Here’s a quick rundown of our highlights.

First of all, the conference was an overall fantastic event, most importantly in terms of the community backing and fostering it. Hats off to the organizers, volunteers, speakers, sponsors and everyone else who made it happen!

This year, the conference kept the 3-day format from the year before, with “CascadiaCSS Day,” “CascadiaJS Browser Day,” and “CascadiaJS Node Day.” There were tons of great sessions, so we’ve just picked our favorites from each day to mention here.

Day 1: CascadiaCSS Day

Our favorite session: Code Patterns for Pattern-Making by Miriam Suzanne

Miriam urged us to think more systematically about “patterns” on the web: from design to markup to CSS to JavaScript. She showed how we can create living Style Guides and automate style and component documentation with SassDoc and Herman, the front-end documentation tool created by her company OddBird. Her theme: “Code patterns are the foundation, style guides are the output.”

Also excellent: Using Sass & PostCSS Together by James Steinbach

James talked about PostCSS, a Node.js module that uses plugins to transform CSS, and showed how it can be used along with (not instead of) Sass, for preparing and optimizing CSS files.

Day 2: CascadiaJS Browser Day

Our favorite session: Demystifying Web Workers and Service Workers by Nolan Lawson

Nolan showed how Web Workers and Service Workers can keep our web applications performing smoothly and free of jank, by doing much of the application’s work outside of the main JavaScript thread. Service Workers are also exciting in that they’ll offer the ability for offline support of web applications by detecting and taking appropriate action depending on the availability of the network. Browser support is still poor for Service Workers, but decent for Web Workers, including Internet Explorer 10 and greater.

Also excellent: Custom elements in production by Thomas Wilburn

Thomas gave a great talk on custom HTML elements used at the Seattle Times. Similar to the components used in Javascript frameworks like React and Angular 2, the Times uses elements like <image-slider> via the document.registerElement() method (in the process of being replaced by customElements.define()), with graceful degradation including polyfills for “vintage” browsers, like Internet Explorer prior to version 10.

Day 3: CascadiaJS Node Day

Our favorite session: Greenkeeper—managing dependencies with confidence by Stephan Bönnemann

Stephan told us about Greenkeeper, an exciting tool — new to me — that helps automate the management of front-end dependencies. It responds to updates in the npm registry for packages used by your project, automatically creates a branch in your repository where it updates the package, and prepares a pull request with the updated package for you to evaluate. (If you’re a Drupal developer, think of the Update Manager module combined with the Security-news mailing list, with recommended updates automatically prepared for your triage and review.) This type of tooling seems pretty crucial for staying stable and secure on front-end projects with increasing numbers of dependencies.

Also excellent: require(‘crypto’) is a human right by Bill Automata

Bill gave a fun, Simpsons-themed, whirlwind history of cryptography, with some quick snippet examples of how to work with modern cryptographic functionality in Node.js.

We’ll Be Back

Great conference. If you’re building on the front-end or on the server with JavaScript, and especially if you’re anywhere near the Pacific Northwest, do yourself a favor and attend the 2017 conference. Or better yet, get involved!

Ciao, CascadiaFest. See you next year!