I am Google Fan – but seems never interesting with AngularJS.
I am anti Facebook – but seems getting interested with ReactJS.
This article is not introducing about reactjs, nor comparing angularjs with reactjs
isomorphic web application
If you want to understand about isomorphic web application – visit isomorphic.net because of shorten explanation, a lot of useful articles, links …
AngularJS is complete MVC framework, but needs DOM elements to bootstrap, renders HTML page. I used to wonder that pull down AngularJS running in server side, but so painful that no DOM elements within server side (do not mention phantomjs – it’s about different context, story …)
Routing – for the most MVC frameworks like Spring, Playframework, or RoR … developers are easily to recognise that happens in server side code, but weird in client side. The MEAN stack is offering both routing for client side (AngularJS) and server side (ExpressJS). Imaging that your developers discussing about routing but not determine which side.
As usual, the pipeline to server a page should be: route -> fetch -> parse -> render
The MEAN stack pipeline: route (server) -> fetch (server) -> parse (server) -> render (client) -> route (client) -> render (client – actually renders DOM). The server side could be executing one time for application lifecycle, why wasting effort to do server side routing ?
Isomorphic is a big deal, not for routing but also aiming view, data, event handling (see the discussing), developers who wanting apply ReactJS/Flux should consider about isomorphic web application.