2012-06-27 12 views
11

Recientemente me encontré con Play framework mientras evaluaba frameworks para usar en un proyecto. Necesito usar lenguaje Java y JVM (por lo que Grails no es una opción).Ventaja de usar Spring roo over play framework (si usamos Spring framework)?

Desde la impresión inicial Play framework se ve muy similar a Django (o Rails), pero Spring Roo parece interesante porque uso Spring framework para componentes principales.

¿Existe alguna ventaja de utilizar Spring Roo si ya utilizo el marco principal de Spring (por ejemplo, para la integración)?

¿Se conocen problemas importantes con Spring Roo? (por ejemplo, como perder el control del código que genera para nosotros)

+0

grails ejecutar en el jvm – NimChimpsky

+0

@NimChimpsky Cierto, pero el problema es que no podemos usar groovy. – 18bytes

+4

Jugar framwork no involucra a Spring, esa es la mayor ventaja;) –

Respuesta

7

Esta es mi impresión privada, por lo que podría ser (muy) subjetiva. También soy un defensor de Play.

que se aplicó para dar una oportunidad Spring MVC ... Eso fue una especie de% $% @ # $% ... incómodo para mí, tener que preocuparse acerca de los archivos XML ...

así que encontré Roo que puede andamiar aplicaciones bastante agradables (especialmente en comparación con Spring) Pensé que es sensato usarlo, sin embargo, también lleva demasiado esfuerzo controlar todos los archivos dependientes mientras su proyecto está creciendo (no sé, tal vez IDE equivocado, tal vez no demasiada paciencia ...) Después de una semana estaba listo para volver a PHP, para siempre;)

Finalmente encontré Play y ese es el punto para mí, no necesito ocuparme de ningún más con 'soporte' XML que impulsó yo loco. La estructura común es mucho más limpia que en Spring- *. No necesito preocuparme por configurar o volver a implementar la aplicación. Todo funciona solo desde el primer paso. Lo único que tengo que hacer es ... ¡desarrollarme!

Por lo tanto, para concluir, creo que debería darle a Play una oportunidad, tal vez sea una mejor opción que celebrar hábitos incómodos. Tal vez. Tienes que elegir a ti mismo.

BTW: ambos enfoques son realmente diferentes, no lo juzgará correctamente sin una comparación sólida de ambas soluciones con el mismo tema.

+2

Personalmente, creo que Roo es tan fácil como Play. Toma esto como ejemplo: http://static.springsource.org/spring-roo/reference/html-single/#intro-first-steps – djangofan

+2

_Me obligaron a probar Spring MVC ... Eso fue una especie de % $% @ $% # ... incómodo para mí seguir preocupándome por los archivos XML ..._ - obviamente no estás hablando de Spring MVC moderno ya que puede configurarse con 0 xml, todo puro Java, no incluso un web.xml – SergeyB

+0

@ike_love - sí, eso fue hace bastante tiempo y como comencé: esa es mi opinión muy subjetiva;) – biesior

9

Por lo que he visto anteriormente, una gran diferencia entre Roo y Play es que Roo crea un código repetitivo para usted, que luego mantiene, mientras que Play simplemente reduce el cantidad de código que necesita desarrollar y, por lo tanto, reduce la cantidad de código que necesita mantener.

Si comenzaba desde cero, no veo el beneficio de Roo sobre Play (opinión personal como defensor de Play). Sin embargo, como ya proviene de un fondo de Spring, entonces Roo puede ser una mejor opción ya que no hay una curva de aprendizaje para usted (y dependiendo de la versión de Play en la que esté pensando, esto podría ser un factor).

+0

La curva de aprendizaje para Play 1.x es muy plana. 2.x es más flexible y planteará la cuestión de Scala o no. @Codemwnci tiene razón, la versión de juego que elija es un factor para tener en cuenta – iwalktheline

11

Todo depende del tipo de aplicación que esté desarrollando. Si quieres tener una aplicación simple con algunos controladores, estoy seguro de que Play es un buen candidato. Sin embargo, si está escribiendo una aplicación empresarial a gran escala y desea aprovechar todo lo que Spring tiene para ofrecer, Roo es el camino a seguir.La primavera es el marco de Java de facto de la empresa, todos los proveedores de software se asegura de proporcionar una integración de primavera, por ejemplo, se necesita una línea de XML para lanzar un servicio web SOAP:

<jaxws:endpoint implementor="org.apache.cxf.jaxws.service.Hello" address="http://localhost:8080/test" /> 

desea conectarse a un RabbitMQ

<rabbit:connection-factory id="connectionFactory"/> 
<rabbit:template id="amqpTemplate" connection-factory="connectionFactory"/> 

Pero eso es solo núcleo Spring, Roo hace las cosas aún más simples, ¿quiere agregar una base de datos? Escriba una línea en el shell de comandos de Roo. ¿Seguridad? Una línea más ¿Iniciar en Cloud Foundry? Una línea más Las funciones de sugerir automáticamente le indicarán todos los comandos disponibles y los parámetros necesarios para cada uno. La mayor ventaja de Roo (para un experimentado desarrollador de Spring) no es tener que aprender ningún framework nuevo, solo debes escribir los comandos de Roo y obtener el código Spring estándar para que puedas hacer lo que quieras. Si se siente más cómodo con Spring simple, puede usar Roo para comenzar su proyecto y luego eliminarlo. No soy de los que van en los últimos bandwagons de tecnología, bastante escépticos cuando se trata de "¡esto mejorará tu vida!" promete, pero Roo realmente hace que el desarrollo sea más simple y rápido.

-3

No sé el Spring Play Framework, pero he estado tratando de usar Spring Roo 1.2.3 siguiendo el "Getting started with Roo" pdf y la experiencia ha sido bastante decepcionante. No funciona, no hay ninguna solución ni soporte para los problemas conocidos en Internet. Descarga la guía que mencioné antes e intenta usarla paso a paso: verás de lo que estoy hablando. En cuanto a su pregunta: elija el marco que al menos no esté roto o abandonado. Spring Roo hace muchas promesas, pero cuando pasas varios días tratando de hacerlo funcionar, sin éxito, empiezas a preguntarte: ¿dónde está la ventaja que obtengo? No me malinterpreten, me encantaría usar Spring Roo, pero ha sido completamente imposible hacerlo.

+1

Agregue los problemas concretos que ha encontrado que responderían a las preguntas particulares del OP en cuanto a si esto vale la pena usar –