6 ms·
Never used ember but that deserves a pretty complete write up about what was done and how. Nice work.
by cfontes 12y ago
Never used ember but that deserves a pretty complete write up about what was done and how.
Nice work.
- steveklabnik 12y agoHere'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.
- searls 12y agoThanks for the concise description. Love to see Team Ember take advantage of the information users are already feeding the existing public API.
- ssutch3 12y agoI 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.
- steveklabnik 12y agoThis 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-the-dom-in-node.html http://emberjs.com/blog/2015/01/08/inside-fastboot-faking-th...
- rxcfc 12y agoSome information can be seen at the PR for Glimmer: https://github.com/emberjs/ember.js/pull/10501 https://github.com/emberjs/ember.js/pull/10501.