Knockout is a purely client-side library (java script), it has the flexibility to work with any server-side technology (e.g., ASP.NET, Rails, PHP, etc.), and any architectural pattern, database, whatever. As long as your server-side code can send and receive JSON Data— a trivial task for any half-decent web technology
Have a look of it. This is new framework in web development, which is becoming more popular because of great UI features on client side.
• Declarative Bindings: Easily associate DOM elements with model data using a concise, readable syntax
• Automatic UI Refresh: When your data model’s state changes, your UI updates automatically
• Dependency Tracking: Implicitly set up chains of relationships between model data, to transform and combine it
• Templating: Quickly generate sophisticated, nested UIs as a function of your model data
Online tutorial with editor: http://learn.knockoutjs.com/#/?tutorial=intro