The client side of MVC can handle the entire MVC stack. If you use MVC on the server and on the client side, then duplicate your models and routes.
The client side of MVC basically allows you to combine your server and client. Why should the server send submissions? Why not send the json model and load it into the client-side model, and the client will display this view.
You can go further with routing. Why is the router being processed by the server? Customer can do this. Just let the client access your RESTful database and you don't need any server-side MVC.
Of course, if you want to support non-javascript, you need server-side MVC.
Personally, I use setup with a heavy client / heavy server. I use the whole server mvc to load the first page. From now on, the client update itself uses only client MVC if it can with javascript. If he cannot, he will continue to use serveride MVC.
This type of development is greatly simplified thanks to SSJS, so your models, collections and views are a common code base and are only supported in one place.
source share