- a clear separation between domain data, view components and data to be displayed
- the presence of a clearly defined layer of specialized code to manage the relationships between the view components
These features streamline and simplify the specification of complex relationships between view components, which in turn make the display more responsive and the user experience richer.
Knockout includes the following features:
- Declarative bindings
- Automatic UI refresh (when the data model's state changes, the UI updates automatically)
- Dependency tracking