knockout.js - que - Combinación de MVVM y marcos de interfaz de usuario móvil para usar con Breeze
knockout web design (2)
He estado trabajando con la combinación Breeze / knockout desde hace un tiempo y en general he estado bastante satisfecho. Twitter Bootstrap era un soporte de posición de interfaz de usuario adecuado mientras experimentaba, pero ha llegado el momento de centrarse en la interfaz de usuario (aplicación web móvil) y me he encontrado con un problema que me hace buscar en otro lado (que no sea el nocaut). El problema con el que me estoy cruzando con el knockout tiene que ver con la incapacidad / dificultad para integrar los componentes / widgets de UI existentes.
El problema es que la mayoría de estos widgets / frameworks / libraries (como jquery mobile) manipulan el DOM para lograr lo que están haciendo. Esto entra en conflicto con Knockout.
Así que pasé a Angular (cuya sintaxis de enlace prefiero) y comencé mi búsqueda de nuevo. Bueno ... el mismo problema. Aunque alguien escribió un adaptador Angular / Jquery Mobile, no quisiera confiar en que se mantenga actualizado con las nuevas versiones de jquery mobile. Además, cuanto más trabajaba con jquery mobile, menos me gustaba. Parece estar más orientado a los sitios web móviles que a las aplicaciones web y me encontré queriendo reemplazar su enrutador de navegación y más. Curiosamente, al mismo tiempo (hace solo un par de días), noté la demo de Angular ToDo en la última versión de Breeze.
La demo de Angular Breeze me hizo pensar que debería probar Breeze con Kendo UI, cuya implementación de MVVM no me importa particularmente, pero cuya interfaz de usuario está muy pulida. No pasé mucho tiempo en esto ya que no hay apoyo oficial, y no es sorprendente que tuve problemas.
Entonces, mi pregunta (s):
¿Alguna vez Breeze trabajará con Kendo UI MVVM? Si es así, ¿estamos hablando de días, semanas o meses? Si no, cualquier idea sobre cómo resolver el problema real que se puede resumir así:
toolsToRapidlyDevelopProfessionalWebApp = [Breeze, MVVM, UI]
Breeze
: no conozco ninguna alternativa que resuelva los problemas descritos anteriormente.
MVVM
: ¿qué implementación funcionará con Breeze y una biblioteca de UI sólida (móvil en mi caso)?
UI
: ¿qué biblioteca de UI de calidad profesional funcionará con una implementación de MVVM que también funciona con Breeze?
Por cierto, en mi búsqueda de respuestas, me encontré con lo siguiente:
Sé que esto no responde a tu pregunta sobre breeze / kendo / ui, pero quería señalar algo sobre Angular, y probablemente Knockout también, que podría ayudarte a encontrar tu respuesta.
Puedes manipular el DOM con Angular ... Es decir, eso es todo lo angular. Pero solo tienes que hacerlo en el lugar correcto: directivas. Esas bibliotecas de conectores que ves están implementando directivas para conectar al DOM desde angular. NO es necesario depender de terceros para ellos y son fáciles de mantener.
No pienses demasiado en esto, es realmente simple. Una directiva es simplemente una función de "enlace" básicamente que hace tus cosas DOM. Es realmente fácil de usar.
angular.diretive("something", function(){
return {
restrict: ''EACM'', //just tells angular where this can be used
link: function(scope, element, attrs){
//do DOM stuff here, element works with jQuery if included
element.someJqueryPlugin();
}
}
}
Ahora, en cualquier parte de su código, puede decir <something>
o <div something>
y su directiva se llama y se vincula de manera adecuada. Incluso puede usar plantillas, controladores y usar inyección de dependencia.
Sí, el soporte de KendoUI está en la hoja de ruta para Breeze. Como vio en la página de comentarios de Kendo desde su enlace, nuestras dos compañías están en contacto y tienen un interés mutuo en esto.
Editar: Telerik revisa Breeze aquí y muestra el código de integración inicial con KendoUI: https://gist.github.com/derickbailey/258716b0107f9067616a
Edición 2: la versión completa de BreezeDataSource para KendoUI ya está funcionando: http://www.kendoui.com/blogs/teamblog/posts/13-02-21/breeze_js_and_the_kendo_ui_datasource.aspx