Simplify dynamic JavaScript UIs with the Model-View-View Model (MVVM) pattern
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
... reduces to 25kb when using HTTP compression
IE 6+, Firefox 3.5+, Chrome, Opera, Safari (desktop/mobile)
API docs, live examples, and interactive tutorials included
Learn the easy way with an in-browser code editor
Grab a coffee and watch this fast-paced introductory session, filmed at the 2011 MIX conference.
Tutorial, benefits, comparisons with other frameworks
Nearly 5 hours of online video content by John Papa (more info)
How KO enables it with observables and computed properties
Get started with knockout.js quickly, learning to build single-page applications, custom bindings and more with these interactive tutorials.
Choose a ticket class:
You have chosen ($)
By encapsulating data and behavior into a view model, you get a clean, extensible foundation on which to build sophisticated UIs without getting lost in a tangle of event handlers and manual DOM updates.