

Inside Ember.js FastBoot: Faking the DOM in Node - tomdale
http://emberjs.com/blog/2015/01/08/inside-fastboot-faking-the-dom-in-node.html

======
bsimpson
Congrats @tomdale!

Using React for our current project was a no-brainer because it was the only
library at the time to build in-browser web apps with an SEO story. It's great
to see other, previously DOM-bound frameworks, tackling this problem.

~~~
tomdale
Thanks!

We'll be working on this feature for the next few months, and we think it has
the opportunity to fundamentally change how web apps are written. As you
noted, little bits and pieces of server-side rendering have existed for awhile
(I've heard of people using Backbone + Handlebars, as well as React), but
historically it's required so much manual labor, and is so error-prone, that
in practice very few people have the resources to pull it off.

We hope that by moving a full-stack framework like Ember.js to the server-
rendered model, it will start to see wide-scale adoption.

~~~
bsimpson
I'll be speaking[1] about my experiments with this at ReactConf at the end of
the month. I've been using React, ReactRouter, and Reflux for rendering,
routing, and data flow respectively. Gluing them all together was definitely a
non-trivial project (that I'll be sharing in conjunction with my talk). It'll
be rad to have JS apps that Just Work, regardless of runtime.

In my experimentation so far, the three things you need to be able to do on
the server are:

\- choose a view to render (ReactRouter),

\- get whatever data that view depends on (Reflux), and

\- render it

I'd be curious to see your take on this. Are there other concerns you think a
"full-stack framework" is needed to manage?

[http://conf.reactjs.com/schedule.html#tweak-your-page-in-
rea...](http://conf.reactjs.com/schedule.html#tweak-your-page-in-real-time-
without-leaving-the-comfort-of-your-editor)

~~~
ericclemmons
We should sync up! I've cracked this similar isomorphic nut myself in a
similar manner and will be giving 2 talks on it as well.

Ember's advancements on this are sorely needed, as anyone doing this today has
to solve a lot of hard problems with lots of tools just to come close.

~~~
bsimpson
I'm easy to find. =)

------
dmak
Why is ember.js being ported to node? Could someone give me a little back
story?

~~~
tomdale
We described our motivation in the previous blog post in this series:
[http://emberjs.com/blog/2014/12/22/inside-fastboot-the-
road-...](http://emberjs.com/blog/2014/12/22/inside-fastboot-the-road-to-
server-side-rendering.html)

------
strongsilentype
I get the motivation in the abstract, but does someone have a use-case for
where this is really useful?

I've worked on apps that are close to either extreme. I.e. static pages with
content, and you add one or change one or two small pieces later, which is
easily done returning the piece of html from the server, and data-exploration
type apps where you initially load some kind of menu and then incrementally
add/update/remove/reload all kinds of data, in which case your templating
lives in the browser.

------
redeemedfadi
This is really great. I needed this type of functionality in my Angular app
and landed on [https://prerender.io](https://prerender.io)

------
madeofpalk
This is handy. One step further to more isomorphic js apps!

