He estado felizmente usando JQuery durante los últimos 2 años y he tenido bastante éxito creando algunas funciones realmente geniales ... así que estoy muy cómodo con eso. También creo que el futuro de la web continuará en la ruta actual del lado del cliente.
Sin embargo...
El próximo desafío parece venir en forma de varios marcos de controladores: KnockoutJS , BackboneJS , SproutCore , JavaScriptMVC (la lista continúa).
Además, hay algunas herramientas excelentes de AMD Loader para usar como RequireJS o LabJS, etc. Sin embargo, jQuery ahora tiene define
y then
capacidades integradas.
Cada vez es más difícil hacer un seguimiento de todo ...
Y ahora, mi tarea parece ser evaluar / decidir una dirección estratégica para usar algún tipo de marco MVC o MVVM del lado del cliente ... pero tengo muchas preguntas.
- ¿Dónde JQuery Fit-en con los diversos controlador-marcos mencionado anteriormente?
- ¿Se utiliza JQuery junto con cada uno o algunos de ellos tienen su propia ' versión con estilo JQuery ' incorporada?
- ¿ Todavía se necesitan herramientas como RequireJS si implementa uno de los diversos marcos de controladores mencionados anteriormente?
- ¿Las capacidades
define
ythen
integradas en JQuery ahora reemplazan al cargador AMD mencionado anteriormente? - ¿Cuál parece más modular? (ver notas a continuación)
NOTAS:
Una cosa que no quiero en ningún marco futuro es el requisito de tener que incorporar una gran cantidad de funcionalidades que no uso. Es decir, prefiero usar un marco que sea verdaderamente modular. Por ejemplo, para usar jQuery UI, debe incorporar muchas otras bibliotecas principales que realmente no podría usar.
Voy a experimentar con cada uno, pero algunos comentarios REALES serían geniales. He visto algunas preguntas 'similares', pero ninguna realmente ha respondido al sesgo anterior.
¡Gracias por adelantado!
fuente
Contestaré en JavaScriptMVC ya que soy colaborador:
JavaScriptMVC depende de jQuery y lo usa ampliamente.
JavaScriptMVC no tiene una funcionalidad competitiva con jQuery. Esto no es tan cierto con Backbone que tiene su propio sistema de eventos. Pero, todo lo que se agrega a la columna vertebral o la columna vertebral es muy mínimo.
JavaScriptMVC viene con un sistema de gestión de dependencias -> robar. Puede usar JavaScriptMVC con RequireJS, pero robar es en realidad mucho más poderoso y tiene el mismo tamaño descargado por un usuario.
Esto no es obstinado. JavaScriptMVC es extremadamente modular. Usas solo lo que necesitas. En comparación con la columna vertebral o la columna vertebral, puede usar sus partes M, V o C de forma independiente. Cuando se ensamblan juntos, es solo 1k más grande que Backbone (cuando se usa jQuery y Underscore). Puede ver los diversos tamaños de componentes base aquí: https://github.com/jupiterjs/javascriptmvc/issues/26
Pero JavaScriptMVC es mucho más poderoso (en términos de características) que Backbone o Spine. Por ejemplo, sus controladores de eventos con plantilla evitan prácticamente todas las pérdidas de memoria. Aquí hay una información sobre herramientas que se oculta cuando se hace clic en la ventana:
Esto es absolutamente crítico con el enfoque MVC cuando sus controles escuchan cambios en el modelo como:
El controlador desenlazará automáticamente todos estos controladores de eventos externos.
Algunas otras fortalezas de solo las partes MVC:
Ahora, JavaScriptMVC es mucho más que solo sus partes MVC (que son parte del subproyecto jQueryMX). Tiene:
Ahora, de qué usar, mucho depende. Mucho depende si estás haciendo una "aplicación" o una "página". Una aplicación, que necesita pruebas, gestión de dependencias, donde le importan las pérdidas de memoria, miraría JMVC o SproutCore.
Si está pegando algunos widgets básicos, miraría la columna vertebral o la columna vertebral.
fuente