Hacker News new | past | comments | ask | show | jobs | submit login

Never used ember but that deserves a pretty complete write up about what was done and how.

Nice work.




Here's a TL;DR:

A handlebars template might look like this:

    <div class="foo">
      {{#if enabled}}
        <p>I'm enabled!</p>
      {{#end}}
    </div>
The usual DOM-diffing algorithm compares every single thing: "has this div changed? Has the class changed? Has the <p> changed?"

This uses the knowledge of Handlebars to make the diffing algorithm smarter: you don't need to check if the <div> or its class has changed, it never will. You don't need to check if the <p>'s contents have changed, it never will. This means less to diff, which means more speed.

This is the advantage of using a declarative syntax for templating: this analysis can be done entirely at compile time.


Thanks for the concise description. Love to see Team Ember take advantage of the information users are already feeding the existing public API.


I imagine we'll get something soon. Ember is having it's developer conference this week, and they were planning on announcing this and I believe something related to a server-side trampoline of sorts.


This link was posted short after the keynote, this was announced, as well as more information about FastBoot, the thing you're talking about: http://emberjs.com/blog/2015/01/08/inside-fastboot-faking-th...


Some information can be seen at the PR for Glimmer: https://github.com/emberjs/ember.js/pull/10501.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: