Now a days everyone use a single page application i.e. all necessary information are gathered into a single page and KnockoutJS is no exception of this which uses MVVM Application Framework.
This is a client side framework which very easily bind html to domain data with MVVM pattern.
MVVM is an architectural design pattern for implementing a software applications. It separates graphical interface from business logic.
View[Html+Css] <==Both way data binding==> ViewModel[JS] <==Manipulation Data==> Model[Data]
MVVM Application Framework:
It is a graphical user interface to represent data where you can bind html dom element to data model. Two way data binding are processed between View and ViewModel using data-bind concept i.e. when updates are done at the same time UI is also reflected.
This is a real time data or business object which resides on server can be stored on database or other temporary storage. When request is sent/received from ViewModel it gets manipulated.