Blogger Widgets
  • Sharing Photos using SignalR
  • TFS Extenstion - allows copy work items between projects
  • Displaying jquery progressbar with ajax call on a modal dialog
  • Managing windows services of a server via a website
  • Exploring technologies available to date. TechCipher is one place that any professional would like to visit, either to get an overview or to have better understanding.

Search This Blog

Saturday 21 September 2013

Server Side MVC vs Client Side MVC

MVC (Model–view–controller) is an architecture patterns that addresses separation of concerns, test driven development, statelessness, extensibility, SEO, REST and many more. Choosing MVC pattern for developing web application is a very easy decision, but that is just the beginning. Rest of decision is deciding how to design, develop and implement the web application.Now deciding on "Server Side MVC" or "Client Side MVC" is not any easy job as there are number of options available.

Server Side MVC

Overview

Server side MVC is a combination of server-side framework and javascript/jquery. There are various server-side framework's available depending on the platform you are developing. Here is a list of few of them

Why

Various benefits of using Server Side MVC are
  • Mature (been there for year)
  • Routing decided by Server
  • Server renders the views
  • Server binds model to views
  • View request can return html, json, xml, text, binary etc
  • CRUD managed by Controller & Data Models on Server
  • Code security
  • Routing decided on application start
  • Supports multi-page application

Client Side MVC

Overview

Client Side MVC is a combination of js frameworks and REST API. Partially still relies on server side application for providing REST API. There are various client-side framework's available depending on your choice of coding style. Here is a list of few of them

Why

  • Recently introduced but got more attention now (look at the list of examples where backbone.js is used
  • Routing decided by Client
  • Client renders the views
  • Client binds model to views via javascript frameworks
  • Uses REST API for getting data from server
  • CRUD managed by Controller & Data Models on Client via REST API
  • Started with single-page application, but now various frameworks support multi-page application
  • Routing can be modified dynamically as it is maintained on client


Look at TODO MVC for more options on Client Side MVC.

Also you could use mixture of both Server Side MVC and Client Side MVC. I have used this combination ASP.NET MVC + KnockoutJS on Techcipher.

Think? Why think! We have computers to do that for us.
Jean Rostand

1 comments:

Copyright © 2013 Template Doctor . Designed by Malith Madushanka - Cool Blogger Tutorials | Code by CBT | Images by by HQ Wallpapers