Browsers are changing are now, they are more capable than in my RIA days. Personally I am a firm believer in the saying:
These days it’s very important to improve speed and interactivity of the web applications. It is very common for clients to compare web application to native platform applications when it comes to performance and user experiences. I know it’s like comparing apples to oranges, but clients do it all the time.
Not so fast, I feel that there are areas that still require some thought about whether these new MVC frameworks provide everything, let’s look at these two areas.
Page rendering is slower since browser needs to do the extra work of DOM manipulation, watch for changes in bind data, do additional REST requests to the server, etc. In most cases, clients will not notice this increase in the work browser needs has to do but in larger applications this may become noticeable.
The diagrams below give a better visualization of the non-isomorphic implementation (Client-side MVC) and the isomorphic implementation (Client +server MVC).
Another interesting library is Browserify. It brings the well known module system of node.js to the Client.