2010-05-27 10 views
9

Quiero usar un marco javascript con MVC para una aplicación web compleja (que será una de un conjunto de aplicaciones y páginas relacionadas) para una intranet en un archivo digital. He estado buscando en SproutCore y JavascriptMVC. Quiero elegir un marco y atenerme a él.sproutcore vs javascriptMVC para el desarrollo de aplicaciones web

¿Alguien sabe cuáles son las características distintivas al comparar estos dos?

Quiero algo simple, directo que pueda personalizar/piratear fácilmente, y que no se interponga en mi camino demasiado, pero que al mismo tiempo me dé una base para mantener mi código bien organizado, y evento conducido. También planeo usar jquery sustancialmente.

Sé que sproutcore está respaldado por Apple, y parece que cada vez es más popular por día, y tiene un bonito sitio web verde :), mientras que JavascriptMVC parece menos profesional, con menos seguidores y menos impulso detrás .

He hecho los tutoriales para ambos y me ha impresionado más a SproutCore (en el tutorial de JMVC no haces nada sustancial), pero en algún lugar en el fondo de mi mente, creo que JMVC podría ser mejor. porque no intenta hacer demasiado, solo le da funcionalidad de MVC basada en un par de complementos de jquery, y puede usar jquery para todo lo demás, por lo que es flexible. Mientras que SproutCore parece tener más de su propia API, etc ... que también es bueno de alguna manera ... pero luego estás como atrapado dentro de eso ... hmmm estoy confundido :).

Cualquier idea sería muy apreciada.

Respuesta

9

Al ser un colaborador de JavaScriptMVC, soy extremadamente parcial. Pero trataré de dar la mejor respuesta que pueda.

JavaScriptMVC también ha tardado años en desarrollarse. Pero en lugar de centrarse en la funcionalidad de la interfaz de usuario, se centró en las capas justo debajo de eso. Hay algunas razones para esto:

  1. Puede encontrar un widget jQuery para satisfacer casi todas las necesidades. No hay ninguna razón para competir con estos complementos. En cambio, JavaScriptMVC intenta trabajar con ellos.
  2. La mayoría de las personas necesita uno o dos widgets/controles personalizados. JavaScriptMVC quiere hacer que la creación y el mantenimiento de estas piezas sea lo más fácil posible '.
  3. Flexibilidad + API. No estoy seguro de cómo decir esto ... pero esta es mi mejor oportunidad ... Con JavaScriptMVC, queríamos que cada capa de la aplicación fuera lo más fácil de entender y mantener posible. Es por eso que elegimos jQuery como nuestra biblioteca de bajo nivel. Su API es la mejor abstracción posible para el dom. La gente normalmente va directamente desde la API de bajo nivel para construir el Widget/Control. Esta es la razón por la cual la mayoría del código de los widgets de jQuery es muy diferente. Queríamos una capa intermedia que organizara nuestro código y promoviera las mejores prácticas, a la vez que proporcionara la flexibilidad suficiente para cumplir con casi cualquier requisito.Entonces, con JavaScriptMVC, obtienes capas muy sólidas de nivel bajo y medio. Pero, no obtienes widgets.

JavaScriptMVC tiene pruebas, informes de errores y documentación incorporados en el marco. La prueba es la parte más impresionante. Tiene pruebas integradas de selenio y envjs.

Mi recomendación sería ir con SproutCoreif. Sus requisitos pueden ser bastante sencillos con SproutCore. Pero si conoce jQuery, tiene que crear muchos controles personalizados o necesita pruebas realmente asombrosas, use JavaScriptMVC.

+0

Investigando Dojo actualmente, ya que queremos utilizar un marco que es más conocido y compatible (por lo que es fácil encontrar/contratar desarrolladores para mantener/ampliar). Sin embargo, gran respuesta Justin. Definitivamente elegiría JMVC sobre Sproutcore por exactamente las razones que me has dado. – swami

2

Creo que la principal diferencia entre ellos es que SproutCore incluye una GUI mientras que la JMVC es algo de bajo nivel sin ningún gráfico, por lo que si necesita una GUI no puede usar JMVC sin incluir otras secuencias de comandos como jQuery UI o jQuery plugins.

Dijiste que "JMVC podría ser mejor porque no intenta hacer demasiado". No estoy de acuerdo con esto, pasaron años antes de que se lanzara SproutCore 1.0, por lo que los desarrolladores tuvieron tiempo de hacer un gran trabajo. producto.

Te sugiero que uses SproutCore, tal vez deberás aprender más cosas, pasarás más tiempo practicando y entendiendo todo, pero aprenderás a usar un muy buen marco que puede ser útil también para proyectos futuros.

+0

no me importa aprender cosas nuevas. De hecho, me gustó mucho la sintaxis de SproutCore y la forma en que funcionó. Pero la aplicación que estoy desarrollando no es estándar, básicamente te da una interfaz para marcar documentos xml. Así que habrá que hacer mucho trabajo personalizado, así que pensé que tal vez un nivel más bajo sea más adecuado en este caso particular ... – swami

+0

Pero de esa manera tienes que construir una interfaz propia en lugar de utilizar un (hermoso) GUI ya creado. De todos modos, dices que no te importa aprender cosas nuevas, pero ¿este es el último proyecto de tu vida? Espero que no. Entonces, la próxima vez que comiences con otra aplicación, tendrás que trabajar a medias porque ya has aprendido todo sobre el framework. En conclusión, debe elegir entre crear un proyecto con un gráfico ya creado pero con un gran marco y un marco de GUI más pequeño pero no – mck89

+1

. No creo que los widgets UI sean la mayor fortaleza de SproutCore. Tiene varias cosas atractivas, y en la parte superior ubicaría el enlace de datos y los observadores de propiedades. Conectar la vista con el modelo y mantenerlos sincronizados requiere un ** lote ** de código repetitivo, y SproutCore lo reduce significativamente. – Anurag

8

Es curioso, porque hace apenas un mes, nuestro equipo evaluó exactamente estos 2 frameworks de forma directa. Terminamos eligiendo JavaScriptMVC, y he estado trabajando con él durante aproximadamente un mes.

Me gusta ... pero, yo era un GRAN proponente de SproutCore. Nunca había oído hablar de ninguno de los frameworks antes de evaluarlos, pero una vez que vi SproutCore y miré debajo del capó, quedé muy, muy impresionado. Honestamente, no creo que haya nada que pueda darte el tipo de poder que te da. Sí, tendrá una curva de aprendizaje, pero es el tipo de cosa que le permite a una persona realizar el trabajo de 5 o 10 una vez que lo sepa.

Así que usaría SproutCore en un abrir y cerrar de ojos.

Dicho esto, JavascriptMVC (también conocido como "JMVC") es agradable. Realmente no te da una tonelada encima de jQuery. Aún tendrá cierta infraestructura para construir usted mismo (dependiendo de qué tan complicados sean sus requisitos). Esto es tanto un pro como un engaño. Una cosa buena de esto es que, si necesitas profundizar en los detalles de alguna pieza de JMVC, puedes ... no es tan increíblemente grande que sea impenetrable.

En resumen, no hay nada malo en JMVC. Pero, en mi opinión, no hay nada ni siquiera en el estadio con SproutCore.

+0

+1 Gracias por compartir su experiencia con ambos frameworks. – IsmailS

Cuestiones relacionadas