KnockoutJS - Aplicación

KnockoutJS se usa ampliamente para aplicaciones de una sola página: un sitio web creado con la capacidad de recuperar todos los datos necesarios de forma dinámica con una sola página, lo que reduce los viajes de ida y vuelta del servidor.

KnockoutJS es un marco del lado del cliente. Esta es una biblioteca de JavaScript que hace que sea muy fácil vincular HTML a datos de dominio. Implementa un patrón llamado Model-View-ViewModel (MVVM). Observables es el ingrediente mágico de KnockoutJS. Todos los datos permanecen sincronizados debido al atributo Observable.

Arquitectura

Ver

La vista no es más que una interfaz de usuario creada con elementos HTML y estilo CSS.

Puede vincular elementos DOM de HTML al modelo de datos utilizando KnockoutJS. Proporciona enlace de datos bidireccional entre View y ViewModel utilizando el concepto de 'enlace de datos', lo que significa que cualquier actualización realizada en la interfaz de usuario se refleja en el modelo de datos y cualquier cambio realizado en el modelo de datos se refleja en la interfaz de usuario. Se puede crear una interfaz de usuario que se actualice automáticamente con la ayuda de knockoutJS.

ViewModel

ViewModel es un objeto de JavaScript, que contiene las propiedades y funciones necesarias para representar datos. View y ViewModel están conectados junto con el concepto de enlace de datos declarativo utilizado en HTML. Esto facilita el cambio de HTML sin cambiar ViewModel. KnockoutJS se encarga de la actualización automática de datos entre ellos mediante el uso de Observables.

La sincronización de datos se logra vinculando elementos DOM al modelo de datos, primero usando data-bind y luego actualizando estos 2 componentes mediante el uso de Observables. El seguimiento de las dependencias se realiza automáticamente debido a esta sincronización de datos. No se requiere codificación adicional para lograrlo. KnockoutJS permite crear una conexión directa entre la pantalla y los datos subyacentes.

Puede crear sus propios enlaces llamados enlaces personalizados para comportamientos específicos de la aplicación. De esta manera, Knockout brinda control directo de cómo desea transformar sus datos en HTML.

Modelo

Model son los datos de dominio en el servidor y se manipulan cuando la solicitud se envía / recibe desde ViewModel.

Los datos pueden almacenarse en una base de datos, cookies u otra forma de almacenamiento persistente. KnockoutJS no se preocupa por cómo se almacena. Depende del programador comunicarse entre los datos almacenados y KnockoutJS.

La mayoría de las veces, los datos se guardan y cargan mediante una llamada Ajax.