¿Existen marcos JavaScript MVC (micro) del lado del cliente ?
Tengo un formulario HTML bastante complicado, y se beneficiaría del patrón MVC.
Me imagino que una buena solución proporcionaría lo siguiente:
- Model and View actualiza el controlador cuando los valores cambian (patrón de observador)
- Rellene el modelo a partir de los datos del formulario cuando se carga la página
- Rellene el formulario del modelo cuando el modelo cambie
Ajax, comet, JSONP y todo ese jazz son excesivos.
javascript
model-view-controller
forms
nicholaides
fuente
fuente
Respuestas:
La columna vertebral es un gran marco ligero. Pruébalo: http://backbonejs.org/
fuente
JavaScriptMVC es una excelente solución. Todo es un enfoque de complemento que le permite seleccionar solo las características que necesita. A partir de 2.0, se basa en jQuery.
Al mejorar progresivamente su sitio web, eso queda en manos del usuario, ya que JMVC proporciona solo una capa intermedia para el desarrollo: depende de usted elegir el diseño usted mismo.
Sin embargo, JavaScriptMVC es simplemente la mejor biblioteca JavaScriptMVC de propósito general debido a sus potentes controladores basados en delegación de eventos.
La delegación de eventos le permite evitar tener que adjuntar controladores de eventos y simplemente crear reglas para su página.
Finalmente, JMVC es mucho más que una arquitectura MVC. Tiene todas las partes del ciclo de desarrollo cubiertas con:
fuente
Spine tiene una API similar a Backbone pero es mucho más pequeña. Cuenta con herencia prototípica.
fuente
AngularJS funciona bien junto con jQuery y lo ayudará mucho con la estructura MVC y la separación estricta de las preocupaciones.
Entorno de prueba completo e inyección de dependencia incluidos ...
Compruébalo en http://angularjs.org
fuente
De hecho hay: http://www.javascriptmvc.com/
¡Creo que esto será suficiente!
fuente
Creo que este parece algo que deberías revisar: http://knockoutjs.com/
(Como programador de silverlight / wpf, esta fue la biblioteca que finalmente me hizo comenzar a aprender javascript. Se basa en el patrón Modelo-Vista-Vista-Modelo (MVVM), ¡ya que para mí ahora parece una buena elección!)
fuente
Existe el popular Backbone.js
fuente
Ember.js
Estas son las tres características que hacen que utilizar Ember sea un placer:
Fijaciones
Use enlaces para mantener sincronizadas las propiedades entre dos objetos diferentes. Simplemente declaras un enlace una vez, y Ember se asegurará de que los cambios se propaguen en cualquier dirección.
Así es como se crea un enlace entre dos objetos:
Los enlaces le permiten diseñar su aplicación utilizando el patrón MVC (Modelo-Vista-Controlador), luego puede estar tranquilo sabiendo que los datos siempre fluirán correctamente de capa a capa.
Propiedades calculadas
Las propiedades calculadas le permiten tratar una función como una propiedad. Las propiedades calculadas son útiles porque pueden funcionar con enlaces, como cualquier otra propiedad.
Plantillas de actualización automática
Ember usa Handlebars, una biblioteca de plantillas semánticas. Para tomar datos de su aplicación JavaScript y ponerlos en el DOM, cree una etiqueta y póngala en su HTML, donde quiera que aparezca el valor:
fuente
Stapes.js
Divulgación completa: soy el autor de esta biblioteca :)
Si está buscando algo realmente pequeño (1.5kb minified / gzipped), eche un vistazo y dígame si le gusta.
fuente
new
operadores confusos ). Lo que parece innecesario es otroeach
y másmap
. Ya los tengo en Underscore.js y jQuery .Si sus requisitos son realmente simples, puede escribir su propio MVC simple como lo hizo Alex Netkachov .
Sus ejemplos se basan en dojo (Nota: no funcionan para mí en su página debido a la falta de un archivo dojo.js), pero puede seguir el patrón en Javascript simple.
fuente
Probablemente sea excesivo para lo que necesita, pero SproutCore es un marco MVC, y no parece más pesado que JavaScriptMVC o TrimPath's Junction .
Desafortunadamente, ninguno de estos parece estar basado en el principio de mejora progresiva .
fuente
El popular framework ActionScript MVC PureMVC fue portado recientemente a JavaScript. Todavía no he tenido la oportunidad de probarlo, pero estoy seguro de que es bueno.
fuente
Por favor revise también jquery-claypool .
jquery-claypool es un marco de mvc pequeño, rápido y de railable construido sobre jquery, basado en mi experiencia con django, rails, spring, etc. Es muy liviano y se ejecuta tanto en el cliente como en el servidor.
Proporciona un marco de enrutamiento para mvc limpio, registro de categorías, filtros (aop), creación diferida de controladores, inversión de control, convención sobre configuración y no mucho más por diseño.
no hace nada que jquery ya haga, se siente como jquery y funciona como un buen marco debería: simplemente.
jquery-claypool
Espero que lo revises.
fuente
Jamal es el más ligero que he visto. También se basa en jQuery (bonificación). No lo he usado.
http://jamal-mvc.com/
fuente
Si desea mantener las cosas bajo control y bastante simples, es posible que no necesite un marco, sino que simplemente implemente su propio patrón mvc. Simplemente consulte este artículo: Modelo-Vista-Controlador (MVC) con JavaScript por Alex Netkachov en 2006.
fuente
Aquí hay una lista de todos los Frameworks JavaScript de código abierto conocidos por la humanidad.
http://getopensource.info/explore/javascript/framework/
O solo marcos MVC
http://getopensource.info/explore/javascript/mvc/
Divulgación: soy el desarrollador de este sitio web.
fuente
Prueba gatito . Tiene solo 1.4 KB y su única dependencia es EJS.
fuente
ACTUALIZACIÓN 2016: Sammy.js parece estar abandonado.
Echa un vistazo a Sammy.js
Texto del sitio:
Un pequeño webframework con clase.
fuente
No llamaría a esto un micro- marco, pero seguro que parece interesante: Cappuccino Web Framework
fuente
CorMVC, fácil de entender y comenzar, basado en jquery y no depende de ninguna tecnología de servidor
fuente
He desarrollado un framework MVC Javascript muy simple llamado MCV . No hace exactamente lo que pides, pero es fácilmente extensible con ayudantes. De todos modos, definitivamente es micro (1.9kb empaquetado).
Funciona más o menos como Jamal, pero decidí rodar el mío por dos razones:
fuente
Solo para hacer la lista un poco más completa: ActiveJS
fuente
Elevé el AngularJS (divulgación completa, estoy involucrado de manera limitada con el esfuerzo de desarrollo angular) y estoy muy entusiasmado con eso. Hice una comparación lado a lado tomando una característica para un proyecto interno (lo siento, no tengo firma para compartirla) e implementándola en AngularJS y Backbone. Fue un gran ejercicio y, al final, me inclino mucho hacia Angular. Los desarrolladores principales son excelentes para responder preguntas y han hecho un buen trabajo con la vinculación de datos incorporada, las pruebas de unidad / e2e y la documentación. Todavía está en beta con 1.0 que saldrá en un futuro próximo. La beta es muy estable.
Hay un pequeño cambio de paradigma y utilizan un enfoque bastante diferente al de la mayoría. Integrar sus complementos favoritos de jquery requiere un poco de esfuerzo, pero es factible y se ha hecho (angular-contrib en github).
Diré (y este es un problema para la mayoría de los frameworks centrados en js), asegúrese de investigar cómo hacer que su contenido sea compatible con SEO (si es importante para usted). Desde que me uní a la comunidad angular en junio, noté que el interés está creciendo y varias personas están publicando mensajes diciendo que han mirado a Backbone y a otros, pero que realmente les gusta lo que están viendo en Angular.
fuente
Maverick es un pequeño framework MVC de JavaScript - http://maverick.round.ee
fuente
También voy a canalizar aquí: AFrameJS funciona con jQuery, MooTools y Prototype.
fuente
Otro: MooTools-MVC
fuente
Había un marco JavaScript de enlace de valor clave llamado "Coherente", inspirado en los enlaces Cocoa de Apple. Apple ha comprado el marco, pero todavía hay una copia antigua en http://github.com/trek/coherentjs/tree/master .
fuente
Pruebe este marco MVC javascript basado en jQuery .
fuente
Uno más, ligero y pequeño: http://jqnano.oleksiy.pro/
fuente
Can.js tiene todo lo que necesita y pesa solo 8 KB. Tomó los mejores bits de JavaScriptMVC y lo destiló en un marco pequeño, pero increíble, con observadores, widgets, enlaces y trabajos. Es compatible con los principales marcos ( jQuery , Dojo Toolkit , MooTools , etc.). La documentación es excelente y los autores son receptivos. Definitivamente vale la pena echarle un vistazo.
fuente