org docs java ruby-on-rails spring grails spring-roo

java - docs - grails html



Ruby on Rails vs Grails vs. Spring ROO vs. Spring App (6)

¿Has mirado a Gaelyk? http://gaelyk.appspot.com/

Es un marco ligero de Groovy para Google App Engine

Estoy planeando escribir una aplicación web simple que será utilizada por muchos usuarios (tan complicada como una simple aplicación de marcadores) y estoy tratando de decidir qué marco / lenguaje usar.

Tengo mucha experiencia con Spring / Hibernate y Java en general, pero soy nuevo tanto en Grails como en RoR (y Spring ROO). La única razón por la que estoy considerando RoR es porque el alojamiento Java es MUCHO más caro que el alojamiento RoR (que es soportado por casi cualquier proveedor de hosting por 5 $ por mes).

Suponiendo que el precio no fuera un problema, ¿cuál de los marcos / idiomas mencionados anteriormente recomendaría para un desarrollador de Java (quién sabe cómo configurar Spring / Hibernate, etc.)? Me temo que al usar RoR no seré capaz de apoyar fácilmente a muchos usuarios que están usando el sitio web al mismo tiempo.

Gracias


Elegí Roo sobre Grails and Rails en mi compañía. Rendimiento en tiempo de ejecución, depuración fácil, buena integración de Eclipse (después de todo, es simple Java), no hay "magia negra" en el tiempo de ejecución. De hecho, no se necesita una biblioteca Roo en tiempo de ejecución para ejecutar una aplicación Roo, solo las dependencias de la biblioteca como Hibernate y AspectJ. Puede mirar el código que se genera para saber exactamente qué está pasando. También es un gran problema para mí que Google haya elegido a Roo como la herramienta preferida para crear aplicaciones GWT en el futuro y que están respaldando. Estoy muy impresionado con Roo hasta el momento, creo que será la herramienta de elección en el futuro cercano.


Los problemas de rendimiento con RoR van a ser causados ​​más por el plan de hosting de $ 5 que por la elección del idioma y el marco. Considere Heroku para su alojamiento, ya que puede comenzar barato / gratis, y luego escalar según sea necesario.

Sin embargo, para una aplicación de marcador simple, Rails probablemente sea excesivo. Eche un vistazo al marco de Sinatra también, a medida que evalúa sus opciones.


No entiendo la obsesión por el rendimiento en el tiempo de ejecución. Dado su escenario, su enfoque principal debe estar en su rendimiento, como en su capacidad de hacer las cosas con la tecnología elegida.

Obtendrás más cosas en un período de tiempo determinado con Groovy que con Java cualquier día. A menudo, una línea de código Groovy equivaldrá a 10 líneas de código Java, etc.

Muy raramente el tiempo de ejecución del código de bytes será su problema de rendimiento, la mayoría de las veces es ...

  • Mala implementación o diseño de algoritmos.
  • Diseño y / o consultas de Bad DB
  • Tomando mucho tiempo para hacer las cosas y luego tener todo tipo de problemas de relación comercial debido a eso.

Con las aplicaciones web, por lo general, no se realizan muchas operaciones vinculadas a CPU de larga duración. La mayor parte de su tiempo de solicitud / respuesta se gasta en el cable (enrutamiento de Internet, etc.) y en el DB (ejecución de consultas).

Elija una tecnología que le quite la carga a la mente y una que le libere de escribir montañas de código de placa de caldera, para que pueda concentrarse en diseñar e implementar buenos algoritmos, DB y consultas, etc.

Id personalmente elijo Grails.


Primero puedes echar un vistazo a estas preguntas relacionadas:

¿Rails o Grails?

¿Aprender Ruby on Rails es bueno para Grails?

https://.com/questions/1283935/what-technology-asp-php-joomla-rails-grails-for-a-website-from-scratch

¿Vale la pena Grails?

¿Vale la pena Grails (ahora)?

Ahora intentaré responderte de acuerdo con tus requisitos que me has comunicado y la información que he recopilado de Internet y de mi propia experiencia.

Ruby on Rails

No te aconsejo que comiences con RoR porque eres un desarrollador de Java y tendrás que aprender un nuevo idioma (Ruby) y un nuevo entorno (Rails). El problema del alojamiento no es un problema real. Puede tener un plan de alojamiento de VPS por $ 10 (www.enjoyvps.com) perfectamente adecuado para la aplicación de pequeños grails. Si su aplicación necesita más memoria, es posible que necesite agregar otros 10 Bucks.

Si tu hosting es realmente EL factor crítico, ve con Python / Django o PHP / Kohanna (un muy buen framework de MVC). De lo contrario, según tu experiencia, Grails es más adecuado para ti que Rails.

Grails

Hace unos meses, tuve el mismo dilema que el tuyo y decidí hacer lo que quisiera con Grails. ¿Por qué?

¡Porque es genial! Quiero decir, la comunidad es muy útil y dinámica, Groovy es un placer para desarrollar (ten cuidado: a partir de ahí, hay buenas posibilidades de que detestas a Java). Además, es un marco de última generación basado en tecnologías muy bien establecidas (Hibernate, Spring, Java) y, por lo tanto, puede mejorar considerablemente su valor de mercado como desarrollador. Grails es mi favorito

Spring Roo

Roo es Grails para Java. Entonces, si no quieres aprender Groovy y necesitas una aplicación Java pura (que siempre se ejecutará más rápido que una aplicación basada en Groovy), ve con ella. La comunidad es más pequeña que Grails, pero el proyecto cuenta con el respaldo de SpringSource, que es bastante activo en la comunidad. Creo que si quieres ir lo más rápido posible, esta es la solución para ti.

Aplicación de primavera

Debería elegir esta opción solo si no le gustan las tecnologías integradas de Spring Roo (Hibernate, JSP, Maven ...) y quiere absolutamente Java. De lo contrario, no hay interés (excepto para fines educativos) en pasar horas de configuración y ajuste cuando puede crear aplicaciones empresariales sofisticadas de la mejor manera en cuestión de minutos (con Rails, Roo o Grails).

Cada una de las opciones anteriores le proporcionará el rendimiento suficiente para la aplicación que desea construir. Mucho depende de las mejores prácticas para aplicaciones de sitios web, como el buen diseño de la arquitectura, el uso correcto de estrategias de almacenamiento en caché y la optimización de solicitudes ...

Mi conclusión

Si tiene tiempo para aprender nuevos conceptos (Groovy, RAD ...), vaya con Grails. Si no, ve con Roo. Olvídate de Spring App and Rails. Si el hosting es el problema, entonces ve con Python / Django. Puede implementar en GAE, es escalable y gratuito, y tratará los mismos conceptos que Rails o Grails.


Sé que esta publicación es un poco vieja. Es 2012 y Spring Roo acaba de lanzar la versión 1.2.2 3 meses atrás.

Soy un desarrollador de Java y acabo de iniciar un proyecto ambicioso que me llevará a lanzar una aplicación web para su amplia adopción. Estoy pasando por Spring Roo y estoy ensuciándome las manos. Mis primeras impresiones son agradables, pero cuando leo en Internet que es un buen marco para la creación rápida de prototipos y solo para desarrollar operaciones CRUD, etc. me siento un poco desmotivado por su uso. Pero personalmente creo que Spring Roo (SP) inicia mi proyecto con las mejores prácticas ya implementadas con la elección de los archivos creados que puedo usar como plantilla para uso personalizado. Obviamente, no tengo miedo de codificar. Siempre tendremos que codificarnos a nosotros mismos, no quiero ninguna "magia". También traté de mirar alrededor de la escena RoR y me intimida fácilmente la curva de aprendizaje involucrada. No veo mucha tracción en la comunidad de Spring Roo. ¿Hay alguna razón específica para ello? También hay mejores alternativas? Estoy un poco confundido sobre mi decisión de finalizar un marco que sea robusto y escalable en el futuro. No quiero ser una posición donde Twitter ahora es donde 2 años de código RoR les hace volver a pensar en su elección de RoR. ¿Spring Roo es la mejor apuesta para mí?