# Knockout | | Knockout is a standalone JavaScript implementation of the Model–View–ViewModel pattern with templates. The underlying principles are therefore: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 | | ---- | ---- | | | wikipedia:: [Knockout (web framework)](https://en.wikipedia.org/wiki/Knockout_(web_framework)) | | | url:: [Knockout : Home](https://knockoutjs.com/) | - Has a template system