After spending about six monthss on this new project using BackboneJS, and spending some time learning AngularJS and EmberJS, my realization at this point is:
Use client-side MVCs very Selectively.
Sometimes on a single page of your app, you need to offer a lot of interactions, each scoped to a small part of the page only. In such cases, a client-side MVC offers some neat features. I’ll try to share my perspective with some concrete examples where I’d say yes or no to a client-side MVC.
- Build a Calendar page - Yes.
- Build a Master/Detail view - No.
- Build a Credit Card Payment Form - No.
- Build a Story Wall like Trello - Yes.
- Build an Airport Departures/Arrivals display - No.
- Build a Search form - No.
As you can see here, I suggest using it only when a lot of client-side interactions can happen, with little server side data requests.