Pick date

Best of December 2014

  • Posts

    • ’s advice on when to use @extend vs a mixin (in Sass), post w/ examples
      • Use @extend to share traits among inherently related rulesets (e.g. .btn-positive and .btn-negative). Use mixins (without arguments) to repeat a group of declarations throughout your codebase (in unrelated rulesets).
    • A guide to using Service Worker in Chrome 40+ (w/ list of gotchas), ’s post
    • ES6 iterators (for-of and Symbol.iterator, relation to generators), ’s post
    • Authoring an ES6 module (transpiling, testing, publishing, deploying/loading), ’s post
    • ’s advice on capability reporting with Service Worker (w/ real-world example), post
    • A practical guide to Web Components (w/ caveats of individual polyfills), ’s post
  • Content

    • A tour of work-in-progress performance-related browser APIs, ’s 38-page deck
      • Highlights: New fields on Resource Timing entries: protocol, transfer and encoded/decoded body size. User Timing marks in WebPagetest results (incl. waterfall). Server Timing API. Preconnect/preload hints via HTTP Link header.
    • Web App Security WG: overview of current and upcoming work (specs), ’s 22-page deck
    • “The future of CSS” (w/ example of polyfilling media queries), ’s 26-page deck
  • Media

    • Optimizing delivery of ES6 modules over HTTP/2 w/ a “dependency cache”, ’s 8-min preso
      • “The remaining perf issue is the round trip latency required to load deep dep’s, as we only find out the dep’s of a module once we have fetched that module, before fetching its dep’s in turn. We can get around this by injecting the full dependency tree upfront into a dependency cache, so that all dep’s can be fetched in parallel.” (docs)