Before any consideration about either client-side or server side framworks are good for one or other user case, you, as a programmer has to answer a simple question: is the Web browser a good development, integration, test and exploitation platform? My response is: No.
You may think that a server with application logic and a MVC event driven logic in the middle tier, can solve the problem, but, simple speaking, the business applications are not stateless. Neither you can store the state in the client allways. Have you seen a flowchart?, a user requirement document? all of them are filled with steps. Specially in a corporate environment, where it is necessary to integrate different software elements, departments, databases etc, much of the integration of different modules with the corresponding interfaces must be trough an stateful application that present different interfaces.
The question is not either client or server side. Both parts must believe that they are the center of the development. the user too. When you are programming in the client, you must thino client-centric. when you are in the server, you have to feel server-centric. The intelligent way is make everyone: The user, the front-end programmer, the back-end programmer, the integrator, to feel that they are the center of the development.
And the development process in which each one works at the highest level of productivity and abstraction is wen you can package server and client functionalities that work together in easily pluggable, self contained widgets for the user interface. With these server-client widgets, to compose single-page applications and finally with these single-page applications, integrate them in stateful workflows that accomplish the whole user case. That is the aim of MFlow.