vuejs vue tutorial script que index how framework silverlight html5 mvvm cross-browser

silverlight - tutorial - vuejs 3



¿Cuál es una forma razonable de usar patrones de codificación MVVM con HTML5? (5)

Tengo una buena aplicación escrita en Silverlight. Para permitir una mayor compatibilidad con navegadores cruzados, estamos considerando reescribir con una interfaz HTML5.

¿Cuál sería una forma razonable de pasar de Silverlight usando XAML y C # con patrones de codificación MVVM en una interfaz de HTML5?

Por otro lado, si esta no es una buena idea y el patrón de MVVM debe abandonarse, explique por qué.


Knockout es el patrón MVVM implementado en HTML / Javascript con enlace de datos y todo. http://knockoutjs.com/

Si lo que quiere se puede lograr simplemente a través de la manipulación DOM, y está acostumbrado y le gusta el patrón MVVM, Knockout debería ser una buena opción.


Sí, el patrón MVVM para HTML 5 se llama MVC. Más fácil de implementar con MVC3. Proporciona una capa de abstracción con respecto al código JavaScript, soporte para ViewModels (también conocido como Vistas) y separación de preocupaciones entre las vistas, el acceso a los datos y la lógica empresarial.

Lo mejor de todo es que la validación y el manejo de eventos de la interfaz de usuario están programados para usted de una manera simple, lo que le permite abstraerse de las complejidades de los controladores de eventos de JavaScript para varios controles HTML.

Sin embargo, si estrictamente desea seguir con HTML y JavaScript, le sugiero que genere sus propias clases de JavaScript (sí, JS es un lenguaje funcional, pero aún puede hacerlo) que representan su capa de interfaz de usuario y manejan los eventos de la interfaz de usuario. Luego, cree su propia biblioteca Ajax para obtener datos serializados de JSON desde las clases de la interfaz de usuario hasta el servidor. Finalmente crea tus propias clases de lógica de negocios (también en javascript) para controlar tus clases de UI y DataAccess (ajax). En resumen ... un montón de trabajo sucio.


También está la biblioteca experimental Model Driven Views (MDV) de Google. Desafortunadamente, solo tiene la intención de ser un escaparate prototipo. Conceptualmente, es realmente genial, pero prepárese para arreglar algunos errores por su cuenta.

http://code.google.com/p/mdv/


También hay JSViews. Este no es tan ingenioso como Knockout, pero es más rápido al actualizar el DOM. El proyecto está vagamente relacionado con jquery ya que su autor estaba detrás de las plantillas de consulta ahora descartadas.


Knockout es una gran biblioteca de JavaScript que te ayuda a escribir el lado del cliente de MVVM. Usted crea sus modelos de vista en javascript y se une a ellos usando plantillas html (con la ayuda de jquery templating). Sus modelos de vista pueden usar ajax para recuperar datos.

Es esencialmente el mismo que el desarrollo de Silverlight: tiene HTML en lugar de XAML y javascript en lugar de C # / VB.Net. Incluso podría usar los mismos servicios web realmente ... lo cual podría ser útil si planea ofrecer ambas interfaces o la conversión más adelante.

Editar
Pensé que agregaría que IMHO MVVM no debería abandonarse, ya que realmente hace un gran trabajo al separar las preocupaciones (supongo que cuando se implementa correctamente) pero una gran victoria seguramente es que tiene al desarrollador pensando o en la mentalidad de separar la responsabilidad en una aplicación. He usado Knockout.js para proyectos web y Caliburn.Micro para Silverlight y realmente he disfrutado ese estilo de desarrollo.