Skip to content

Instantly share code, notes, and snippets.

@jkintscher
Created October 25, 2013 02:06
Show Gist options
  • Save jkintscher/7148436 to your computer and use it in GitHub Desktop.
Save jkintscher/7148436 to your computer and use it in GitHub Desktop.

EmberFest

  • Ember Data
  • Ember.RSVP.all
  • DS.Model.eachRelationship(.kind)

Recap

  • First EmberFest and first-ever Ember conference in Europe, took place in Munich

  • Around 80 attendees from 12 countries and 3 different continents (!)

  • 10 speakers in the line up

    • Some had to re-do almost their entire talk as Ember had changed entirely in the weeks/days leading up to EmberFest (heck, a bug a speaker mentioned was fixed before his talk was over!)
  • 2x Tooling best practices

  • 2x Ember Data (old and new)

  • Complex architectures

  • Persona

  • HTML5 Video, popcorn.js and Ember

  • General best practices

Take-aways:

The new Router is getting even newer. Alex Speller covered some nice lookout of what's probably gonna land in Ember's Router soon: Query Params, … (Slides: https://speakerdeck.com/alexspeller/query-params-and-the-ember-router)

Ember-Data apparently did kinda work in the past even in production apps with only some manual tweaks and lots of head->wall, but will now be aweeezing and (attempt to) change everything. Again. The new approach (branch name jj-abrahms) rids the library of lots complexities and streamlines the API. Where before they tried to implement client-side transactions (wat?) that would Just Break™, JJ Abrahms now ships with Promises for basically every interactions that make your life easier and the new Router in Ember.JS (even) awesome(r)!

ember-app-kit is a great way to bootstrap conventional applications. It brings scaffolding, dev server, sourcemaps (if you opt-in to CS), deploy scripts, etc. and allows to integrate things like Bower or NPM or Yo into the stack through simple configuration. Depending on how the app is hosted and deployed this entirely eliminates the need for a simple Rails/Rack app that's serving static assets through the Asset Pipeline. (https://github.com/stefanpenner/ember-app-kit/wiki/)

Third-party framework integration is easy. The guy who presented the HTML5 video thing gave lots of neat examples of how they're using components and view hooks to integrate (and even extend) popcorn.js to create a whole new end-user experience on top of native HTML5. We also were able to integrate jQuery UI and other stuff seamlessly for DeLorean just as easily.

Persona currently uses Mozilla as a third-party to authenticate users but will, at one point in the future, allow for safe, easy and middle-man-less user verification just by email. A user clicks a button on a website, is taken to the Persona form (either through a JS shim or native browser implementation), enters the email they want to authenticate with (or pick one from a list of actively authenticated addresses) and is being taken to their email provider to get a private/public key pair -> Diagrams

Ember Applications should always follow certain structural best practices to increase their internal semantics and maintainability:

  • Controllers present information to templates. That's about it.
  • Actions are handled on routes, as those can access models and controllers. This helps avoiding confusion otherwise introduced by overly using needs in Controllers.

There's great stuff being written in Ember:

Overall, the Ember community is really diverse and super psyched about the framework. Even considering the über-fast pace of development that easily leads to lots of headaches and conflicts (one of them is running 4 production ember apps at their company—all on different versions, ranging from 0.9.6 up to RC7) every (good) new thing is applauded and welcomed (maybe even a little too much).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment