EmberConf 2016: Talks Mashup

In two days, I attended 15 talks. I've already blogged about two of the talks: the opening keynote by Tom and Yehuda, and the talk on cross-pollinating communities by Chris Ball.

I may not get the time to go into the same level of detail with the other talks I attended, but I want to briefly mention each of them and link to any related resources.

Using Service Workers in Ember

John Kleinschmidt works with hospitalrun.io providing systems for hospitals in developing countries. In attempting to build web apps where Internet connections are spotty, He has turned to service workers as a solution for handling offline issues in their app. For instance, if their app can't reach the web, then their service worker will fetch data from a local CouchDB instance. Lots more too this, see the resources below.

Resources:

<select>ing Good Ember Patterns

A great talk by Brenna O'Brien. Particularly good for it's flow, the exposition of the "Data down, actions up" maxim, and explanation of newer template syntax, such as dynamic attributes, closure actions, {{ get }}, {{ mut }}, etc. And of course, she showed us how to build our own, great select component!

Resources:

How I Learned to Love Ember

Ju Liu told a sort-of rambling story from being a PhD student to working on JavaScript applications with all of the usual cast of characters and some supporting actors: jQuery, Backbone.js, marionette.js, batman.js, AngularJS, and then, finally, to Ember. A very humorous talk, engaging us with a story probably real for many of us.

Building Mobile Apps with Ember

Alex Bloom gave a usefully dense talk about using Ember and Apache Cordova to build mobile apps. One of the key takeaways was his statement that, 

"Much of making effective mobile apps is simply writing good code."

Imagine that! 

Resources:

Dissecting an Ember Build

Estelle DeBlois, a developer at DockYard, walked through the process for using Ember CLI add-ons, creating your own add-ons, understanding Broccoli, and the build process. Her opening line was, 

"Ember without Ember CLI is like Peanut Butter without Jelly."

She covered a lot of territory, particularly because the build process does a ton of work for you. 

Resources:

Ember CLI: The Next Generation

Stefan Penner, from Yahoo!,  gave a history of JavaScript build tools, the origins of Ember CLI, and hints towards the future of Ember CLI. 

Stefan made a number of great points:

  • Imagine if we could improve build time by just 20%? Improving build time can save saves days of time over the course of a project.
  • "Developers are productive 4 to 5 hours a day, if they are not pulled into too many meetings."
  • "If it takes 4 years of experience on dev tools to be a good web developer, what does that tell you?"
"Developers are productive 4 to 5 hours a day, if they are not pulled into too many meetings."

And he indicated some of the future direction for ember-cli:

  • ember-cli will now have it's own core team.
  • they will migrate away from bower, transition to npm.
  • engines and support bundling will be enabled.
  • possibly, a first class API for packaging bundles with HTTP2 enabled.
  • a linker with support for importing  only the Ember files you need. 

Compose Yourself with Ember and D3

Ivan Vanderbyl covered a topic very near to me right now, the use of D3 within an Ember app. He encouraged us to think in terms of graphing and data, instead of charts and libraries. I can relate very much to this point he made:

import {
  technicalDebt
} from "charting-library"

He argued for a classic software design principle of separating the concerns of data and presentation. And he made a case for using an expressive tool like D3 instead of a library that simply implements ready-made charts for you.

"You can't exaggerate the presentation without disregarding the underlying data." 
"All sufficiently ambitious applications will eventually require data visualisation."

Resources:

Idiomatic Ember: Sweet Spot of Performance and Productivity

Lauren Tan gave a talk on the Ember "way" as a path out of the confusing and fragmented JavaScript world today. In particular, she addressed the Ember approach to data and actions ("data down, actions up"), the near demise of controllers, and writing good templates. This was a good talk that touched on a number of things: components, hooks, bindings, actions, helpers, computed properties, and observers.

Resources:

Immutability is for UI, You, and Me

Charles Lowell gave an absolutely excellent tech talk on the why and how of using immutable models in Ember. It was obviously an alternative perspective than most are taking, but he did a great job, in as plain o' language you can get on this, of describing his approach. He described his frustrations with Backbone,  and how he fell in love with Ember's Object.  And then how he took concepts from Om and applied their unique way of handling state to his Ember apps.

Resources:

How to Build a Compiler

I got to admit that by the time I sat in on James Kyle's talk about building a compiler, my brain was pretty mushy. I got a decent overview of what a compiler does at the beginning, but I couldn't follow the rest very well from my distant seat. He did throw some books at the outset, which was pretty cool!  He began by covering the various kinds of code (machine, assembly, source), parsing, transformation, and generation. He then proceeded to discuss his experience of attempting to build the world's smallest compiler.

"Handlebars is a variety of lisp." - @wycats

Resources:

Ember between Design and Development

This was a joint talk by Lisa Gringl and Francesco Novy about the ways designers and developers can work together for a better software life cycle. They made a case for why designers should code, and why developers should understand design. They proposed that every project should have the following documents to guide this process:

  • Code documentation - describes all the code objects and methods, generated from the javadoc style comments in the code itself.
  • Living style guide - describes all the CSS classes and generated automatically from comments in the .css files.
  • Component guide - describes what each component does, not how it does it, provides the attributes, a demo, and the code for each component.

Resources:

 

Chadamoore.com · Copyright © · Caveat Lector