Quiero usar un framework JavaScript para una aplicación web compleja. He estado buscando en Backbone.js, knockout.js y JavaScriptMVC. De ser bastante nuevo cliente de JavaScript del lado pesado de aplicaciones web, no estoy seguro de cuál elegir. Cada uno tiene una bastante diferente enfoque para separar las preocupaciones. Modelo/Vista/Controlador vs Modelo/Vista/Perspective vs Modelo/Vista/de la Colección.

¿Ustedes qué piensan? ¿Cuáles son los factores decisivos? Cuál sería la forma más fácil de recoger? ¿Cuál ha sido su experiencia como?

  • +1 Para backbone.js!
  • posibles duplicados de Knockout.js vs Backbone.js (vs ?)
  • Lo siento, pero siento que esto es subjetivo y solicitará la discusión en lugar de ser un buen Q&A, así que voy a votar a cerca de como no constructiva. Me encantaría ver un blog sobre este tipo de cosas, pero no creo que es un buen ajuste para el Desbordamiento de la Pila.
InformationsquelleAutor Drew | 2011-03-01

2 Comentarios

  1. 17

    Usted no puede ir mal camino, especialmente si usted está construyendo un complejo de javascript UI. Si decide no utilizar cualquiera de las dos, es probable que usted termina con un montón de difícil depuración de código. Personalmente, me gusta columna vertebral, pero ambos son ligeros y permiten la libertad en sus plantillas de idioma (yo uso JQuery templates). Creo que lo que me hizo elegir la columna vertebral fue la manera en que Knockout mezclado sus componentes con tu html:

    <span data-bind="text: myItems().count"></span>

    Usted puede ser capaz de evitar el uso de constructos como el de arriba con knock-out, pero eso fue suficiente para tirar de mí hacia la columna vertebral. También me gustó el hecho de que la columna vertebral tiene dependencias tanto de subrayado y jquery que ya estaban en uso en mis proyectos.

    • Yo estoy con ustedes hasta un punto en el uso de un marco de aquí. Para grandes aplicaciones, en donde el complejo de javascript ui está en todas partes, creo que vale la pena probar. Pero para cualquiera de aplicaciones que solo hacen de interfaz de usuario compleja en un par de lugares, o pequeños equipos con limitada del lado del cliente la experiencia, yo diría que no, no es un complejo de javascript ui, o acaba de rodar a ti mismo, ya que será más fácil de depurar.
    • Lo curioso es que la mitad de los usuarios dicen que tal declarativa de los enlaces de La Manera Correcta, mientras que, al mismo tiempo, la otra mitad dice que es malo. Ambos tienen razón 🙂 Personalmente creo que el todo es más que aceptable siempre que no utilice ningún atributo de búsquedas, simplemente&simple «texto: myItemsCount». En otras palabras, estoy bastante convencido de que data-bind atributo es tan malo como class, es decir, no en todos 🙂
    • De acuerdo con Tomasz, mi visión es más personal que otra cosa. Acabo de llegar de un dolor de cabeza mirando el código html para encontrar javascript. Me gusta tener la separación, pero como he dicho, mi propia pecadillo y nada más.
    • La OMI en línea «declaración de los enlaces de» es mala porque se ofusca y enturbia el HTML. De hecho, recuerdo el día cuando todo el mundo se puso de TONELADAS de la línea de la onclick JavaScript en el código HTML. Entonces…jQuery llegó y abrió la idea de no molestar a la separación…y la gente empezó promocionando la idea de como sacrosanto. Así que ahora…¿cómo se supone que debo creer que molesta-HTML-atributos de alguna manera están bien o mejor? La respuesta es…que no! Seamos sinceros…no oficiales de marcado se lleva lejos de la REAL HTML…cual es la definición de molesta.
    • ¿Por qué la atención sobre la mezcla de expresiones simples en su punto de vista? Suele ser una separación Nazi no es tan fácil & práctico. Usted tiene que atar su modelo de la vista, de alguna manera, ya sea directamente en la vista (octavos de final), o en el código, de alguna manera, en referencia a los bits de la vista. Hacer de todo en el código subyacente a través de la clase o atributo de los enlaces es más detallado, como el que ahora tiene el modelo del campo, una de las etiquetas de vista y una expresión de enlace, todos los cuales se debe mantener en sincronía. También terminará con muy específicos de la vista JS funciones para enlazar a por cosas como elemento de visibilidad, que sólo se podía mezclar con Knockout.
  2. 8

    A construir en HostDude comentario – es una característica, no un bug 🙂 Parte del concepto de knockout es que hay una capa de entre medio de su Controlador/Modelo y la Vista. Esto nos permite modularizar de nuestro HTML en pequeños componentes que incluyen el mapeo de datos.

    Así que sí, el JS enlaces se mezclan, pero no se mezclan en HTML puro, sino que se agregan a la pequeña modular Jquery plantillas. Mediante la adición de los enlaces de datos en forma explícita, en el jQuery nivel de la plantilla, tenemos el control total sobre lo que se asigna a lo que, sin molestar a nuestro subyacente de la aplicación del modelo de datos en todo 🙂 me encanta Knockout!

Dejar respuesta

Please enter your comment!
Please enter your name here