Knockout.js is a Java Script library used for creating Model-View-View-Model (MVVM) model. Using this model, you can segregate the user interface html from the rest of the code. This will be useful if your user interface changes often.
Knockout allows us to bind html elements against any data model. Knockout can be using both server side as well as client side technology. It is compatible with all types of technologies. It provides a simple two-way data binding mechanism between your data model and UI means any changes to data model are automatically reflected in the UI and any changes to the UI are automatically reflected to the data model
Knockout MVC is completely cross-browser and works fine in IE 6+, Firefox 2+, Opera 10+, Chrome and Safari.