Hoy estaba investigando la biblioteca JavaScript Knockout y sus características. Ahora quiero usar esto con las aplicaciones de MVC 3, pero ¿cuáles son los beneficios de usar esto con MVC 3?¿Cuáles son las principales ventajas de la biblioteca Knockout java script con MVC 3
Respuesta
Knockout es un patrón MVVM que funciona con un javascript ViewModel. La razón por la que esto funciona bien con MVC es que la serialización hacia y desde los modelos de JavaScript en JSON es muy simple.
Además, se incluirá en MVC4. Aquí hay un video por el creador Knockout sobre cómo utilizarlo para aplicaciones de una sola página en MVC4 (con la nueva función de API Web de Microsoft):
http://channel9.msdn.com/Events/TechDays/Techdays-2012-the-Netherlands/2159
Pero los beneficios son realmente tan MVVM le permite desarrollar rica interfaz de usuario con mucha menos codificación (si está familiarizado con Silverlight o WPF MVVM sabrá a qué me refiero).
Dado un modelo de vista de:
var myViewModel = { myValue: 'some text' };
No es necesario para unirse
$('#textBox').change(function() { myViewModel.myValue = $(this).val(); })
y el reverso de
$('#textBox').val(myViewModel.myValue)
por todo el lugar, o la manipulación de código especial de propiedades calculadas en su vista en Knockout. Puedes hacerlo todo de una forma muy agradable orientada a objetos.
<input type="text" data-bind="value: myValue" />
Y todos los eventos están conectados.
Los beneficios se enumeran aquí - http://knockoutjs.com/documentation/introduction.html
Los benifits son más estructurado y flexible del lado del cliente código javascript. Puede particionar mejor la IU y puede ir tan lejos que termine con "un sitio web de una sola página" ... que solo hace solicitudes json (si lo desea) significa menos viajes redondos de servidor más pequeños responde , etc ...
Y para mí el pensar realmente interesante es la unión a través de los observables ...
http://knockoutjs.com/documentation/observables.html
también mira esto: MVC + Knockoutjs = Cliente MVVM lado de la dicha http://channel9.msdn.com/Events/TechDays/Techdays-2012-the-Netherlands/2378
Las ventajas son numerosas, algunas características sobresalientes se destacan a continuación:
- de viabilidad para conectar en cualquier momento con los elementos de la interfaz de modelo de datos.
- Cree modelos de datos complejos y dinámicos con facilidad.
- El enlace de datos ayuda a manipular los datos almacenados, reflejándolo en la interfaz de usuario y actualizando la interfaz de usuario con cambios frecuentes en el servidor, si corresponde.
- Admite un modelo de programación basado en eventos y ofrece una personalización 100%.
- Admite IE, Firefox, Safari, Bing, Chrome y muchos más navegadores de la corriente principal .
- Ayuda a evitar la hinchazón del diálogo HTTP con la lógica de presentación y la presentación de marcado en el servidor.
- Garantiza la aplicación de reglas comerciales, seguridad de datos y más control en la página web .
- También ofrece integridad referencial y muchas características de validación en relación con el flujo de trabajo para mayor seguridad.
- Knockoutjs ofrecen excelente extensibilidad. Tiene numerosos puntos de extensión y utilidades para construir una aplicación.
Puede leer más aquí desde nuestro artículo https://cynere.com/advantages-of-knockoutjs
- 1. ¿Cuáles son las ventajas de MVC sobre la arquitectura de 3 capas en aplicaciones web?
- 2. ¿Cuáles son las principales diferencias entre JavaScript y ActionScript 3?
- 3. Cuáles son las ventajas de VistaDB
- 4. ¿Cuáles son las ventajas de usar Qt?
- 5. ¿Cuáles son los 3 principales conceptos principales en WPF?
- 6. ¿Cuáles son las ventajas de Lazy Evaluation?
- 7. ¿Cuáles son las ventajas de usar Automapper?
- 8. ¿Cuáles son las ventajas de Blocking Queue en Java?
- 9. ¿Cuáles son las ventajas de Perforce?
- 10. ¿Cuáles son las ventajas de utilizar Rubinius
- 11. ¿Cuáles son las ventajas prácticas del currying?
- 12. ¿Cuáles son las 'grandes' ventajas de tener Poco con ORM?
- 13. ¿Cuáles son las ventajas de QAbstractItemModel en comparación con QStandardItemModel?
- 14. Cuáles son las ventajas de MVC3 sobre MVC2
- 15. ¿Cuáles son las principales diferencias entre Socialauth, Scribe-Java y Spring Social?
- 16. ¿Cuáles son las ventajas de usar con para abrir archivos en Python 3?
- 17. ¿Cuáles son las ventajas de definir una clave externa
- 18. ¿Cuáles son las ventajas de usar Ruby NArray sobre Array?
- 19. ¿Cuáles son las ventajas de las macros de esquema?
- 20. ¿Cuáles son las ventajas de definir una excepción personalizada?
- 21. ¿Cuáles son las ventajas reales de las colecciones inmutables?
- 22. ¿Cuáles son las ventajas de usar SVN sobre CVS?
- 23. ¿Cuáles son las ventajas y desventajas del Patrón de propiedades?
- 24. ¿Cuáles son las ventajas de concurrent.futures sobre multiproceso en Python?
- 25. ¿Qué es NSZone? ¿Cuáles son las ventajas de usar initWithZone :?
- 26. ¿Cuáles son las principales diferencias entre las API Repa 2 y 3?
- 27. ¿Cuáles son las ventajas de un procesador de 64 bits?
- 28. ¿Cuáles son las ventajas de LePUS3 sobre UML?
- 29. ¿Cuáles son las ventajas de usar Objective-C sobre C++
- 30. ¿Cuáles son las ventajas de PyQt sobre PyGTK y viceversa?
Muchas gracias Pablo por pronta respuesta. Sí, conozco MVVM en WPF, pero aún no puedo encontrar ninguna ventaja específica en la aplicación MVC, ya que supongo que tengo 10 propiedades en mi modelo y ahora tengo que crear las mismas 10 propiedades en vista. Modelo también para vincular los datos. Entonces, ¿por qué hago código adicional? –
Cambios inmediatos en la interfaz de usuario cuando los datos cambian. Si no necesita actualizaciones "like-live", entonces no necesita knockout – soniiic
ok. entonces, ¿significa que si alguien hace cambios en mis datos, entonces UI actualizará automáticamente los valores sin ninguna solicitud al servidor? –