10

Estoy construyendo una aplicación web (bastante simple) que, en última instancia, se usará igualmente en computadoras de escritorio y dispositivos móviles. Estoy usando Rails en el back-end, pero la aplicación real se compilará como una aplicación de una sola página, por lo que Rails simplemente servirá los activos frontend iniciales y actuará como un backend REST.Javascript MVC framework + jQuery Mobile

Me gustaría usar jQuery Mobile para el UX optimizado para dispositivos móviles, incluyendo vistas de lista, entrada táctil (por ejemplo, deslizar para editar un elemento), etc. (Tenga en cuenta que he considerado solo usar un marco de interfaz de usuario como Twitter Bootstrap o Foundation, pero me beneficiaría mucho del UX optimizado para dispositivos móviles más avanzado que jQuery Mobile permite).

También me gustaría utilizar un marco Javascript MVC para estructurar mejor mi código Javascript. He jugado con algunos frameworks pero no los he usado en profundidad y sigo debatiendo sobre la elección final.

Mi pregunta principal es cuál de estos marcos MVC (o MVVM) ha demostrado funcionar bien en conjunción con jQuery Mobile.

Dejando de lado el móvil, mi fuerte preferencia sería un marco basado en datos vinculantes como Knockout, Ember, Angular o Batman (de hecho, basado en mis experimentos iniciales, me gusta bastante Batman), que actualiza automáticamente la interfaz de usuario cuando la capa del modelo cambia Sin embargo, podría ver esto en conflicto con jQuery Mobile, que también realiza cambios significativos en el DOM, también quiere tener el hash de ubicación, etc.

Una alternativa sería utilizar uno de los marcos de nivel inferior como Mochila o Espina. Supongo que la capa de enrutamiento aún causaría conflictos, pero al menos podría usar el modelo, el controlador y la capa de visualización (y especialmente la persistencia REST). O tal vez hay un enfoque híbrido, donde se utiliza un marco MVC basado en datos para todo en la versión de escritorio, y la capa de vista se intercambia de alguna manera para jQuery Mobile en la versión móvil, aún aprovechando el modelo y el controlador ¿capas?

¿Alguna suerte con uno de los frameworks MVC basados ​​en data binding? ¿Alguna suerte con Backpack o Spine? ¿Alguno de esos funcionan lo suficientemente bien con jQuery Mobile como para recomendarlos? ¿Alguna otra recomendación?

Me doy cuenta de que esta pregunta es un tanto abierta, sin una sola respuesta correcta, pero creo que esta sigue siendo una pregunta adecuada para Stackoverflow.

Respuesta

2

desde que obtuvo ninguna respuesta después de tanto tiempo solo puedo contribuir con mi voto a favor de dos marcos

Backbone.js es el clásico, fuerte comunidad

Sin embargo, mi favorito es Ember desde un punto de Desgin ver. Uno de los objetivos de Ember.js es simplificar la integración de las herramientas que ya está utilizando, y verá las funciones de jquery mencionadas en algunos ejemplos de su documentación.

no estoy seguro acerca de jQuery Mobile, he utilizado sobre todo con el jQuery normal, pero hasta ahora veo bien

Sé consciente de que Ember hace sacrificar un poco de rendimiento si que logra un mejor abstracción. Yo suelo favorecer eso

+0

Gracias por su respuesta .No he trabajado en este proyecto por un tiempo, así que aún no he elegido una pila final. Estoy seguro de que Ember.js podría funcionar, pero todavía soy un poco escéptico de que no sea una combinación perfecta con jQuery Mobile. Además, el rendimiento puede ser un problema para los dispositivos móviles. Ahora mismo me estoy inclinando por usar Spine (estoy seguro de que Backbone estaría bien también). –

+0

Hola Mirko. Hay muchas bibliotecas que no están diseñadas para jugar bien con otras. Escuché a muchas personas elogiar a Ember porque funciona muy bien con jQuery, mejor que Backbone. En su búsqueda de un MVC con Javascript, tenga en cuenta que verá muchos micro-frameworks. La columna vertebral es la más tardía, ligera y eficiente. Otros como Ember intentan ser una solución completa centrada en un problema. Su rendimiento es ligeramente peor (por una buena razón) y no he oído hablar de qué tan bien se adapta a un entorno móvil. – SystematicFrank

1

Si se conciernen sobre el rendimiento, le sugiero que vaya con Backbone ya que no es un completo framework lo que significa que se puede comparar bastante rápido a otra completo framework