KnockoutJS es una implementación independiente de JavaScript del patrón Model-View-ViewModel (MVVM) con plantillas.
Knockout fue desarrollado y es mantenido por Steve Sanderson, un empleado de Microsoft. El autor hace hincapié en que este es un proyecto open-source personal, y no un producto Microsoft.
Características
Knockout incluye las siguientes características:
-
Enlaces declarativos: Se asocian facilmente, los elementos DOM con los datos del modelo con una sintaxis legible y concisa
-
Actualización automática de la Interfaz de Usuario: Cuando cambia el estado del modelo de datos, se actualiza la interfaz de usuario de forma automática
-
Seguimiento de Dependencia: Implícitamente configurar cadenas de relaciones entre los datos del modelo, para transformar y combinar
-
Plantillas: Generar rápidamente interfaces de usuario complejas, jerarquizadas en función de los datos del modelo, utilizando un motor de plantillas nativo aunque se pueden usar otros motores de plantillas, tales como jquery.tmpl
La programación Web ha cambiado, cada vez se programa más en cliente. Para esto, jQuery nos ofrece una gran ayuda, sobre todo con su gran cantidad de selectores que nos permite realizar tareas comunes como mostrar u ocultar información o crear elementos html "al vuelo" de una manera fácil.
Pero con jQuery, es muy tedioso tener que recorrer un elemento html para extraer toda la información y montar un objeto JSON, y enviarlo al servidor, como también es tedioso tener que mapear a mano cada valor recibido de "nuestro servidor" en los diferentes elementos html que tengamos en nuestra página.
Para resolver todo KnockoutJS, nos ayuda a interactuar de una manera fácil con la interfaz mediante el patrón MVVM.
Knockoutjs es un script pequeño que se puede bajar desde este link
En este apartado de nuestra Escuela, iremos publicando tutoriales de este magnífico script, que nos permitirá hacer interfaces de usuario Web interactivas y rapidas de una manera facil y muy divertida (Ver el primer tutorial en Introducción a KnockoutJS)