Todays web has become a central point of all applications. HTML,CSS and
JavaScript technologies have evolved quickly - The entire Web architecture is moving quickly towards
real-time.In addition, doing all data processing in client side and making less load on server achieves two important things:1)Web experience is like Desktop application[faster] since ongoing
client/server communication is only about data exchange and not
rendering logic. 2] development of client side and server side can go in different cycle. It leads to think that server development can be implemented in any technology or can be hybrid technology until it gives data in common format like JSON or XML. Client side technology will consume these data and act as per application needs.There should be no or very less binding or dependencies with server side implementation technology. So most of data processing or presenting logic resides on client side.This again gives to think a structured way or framework based client side development as we did for server side. In Java world, Spring,Struts,play framework,Tapestry,Grails,Rails are few among name. They mostly follows MVC pattern to make the code for better maintainability,testability. Nowadays Javascript is one of the major technology used for client side development. Using Javascript framework not only helps to organize the code but helps to develop code easily. There are lot MVC based Javascript[see this] are out nowadays.Each framework has pros and cons. A nice comparison has been done [here]. Among then backbone.js and ember.js are quite popular. We also need to consider a good Javascript template system for better client side development. Click here for a good comparison by linkedIn.
Choosing right framework is also very tough as it totally depends on which application you are making. Still one should try to follow these features while choosing framework.
1.Testability
2.Good UI bindings
3.Composed Views
4.Web presentation Layer
5.Play nicely with other
6.HTML5 compliant
Try out this link and and see the Todo Application written in various JavaScript based MVC framework.http://addyosmani.github.com/todomvc/
recently Angular.js comes in light for its clear MVC pattern design ,solid UI binding,HTML5 compliance, good unit testing framework and very easy to write code. Try out http://docs.angularjs.org/tutorial/ and http://avalanche123.com/blog/2012/02/29/angularjs-superheroic-javascript-mvc-framework/.
I am very much impressed with AngularJs. their design philosophy and clear architecture is really good.I am learning this framework and will post more about it and other Javascript framework time to time. Given some good link
Stay tuned for more update.