Habiendo usado tanto Grails como Rails en la producción, aquí están mis pensamientos.
tl: dr : me gustan ambas por razones muy diferentes, prefiero Grails en general, pero Rails es un marco fantástico que no debe pasarse por alto. Al final del día, la preferencia se reduce a los detalles del marco.
Rieles
- ¿Cuál es un sitio web confiable y confiable desde el cual aprender Protractor y JavaScript?
- ¿Qué debo hacer si tengo 38 años y estoy considerando cambiar mi carrera y convertirme en desarrollador web backend?
- ¿Qué te influyó para ser un programador de Rails?
- ¿Por qué php no usa más compañía?
- ¿Las grandes empresas de desarrollo de juegos usan algún activo de la Unidad de Activos de Unity?
Un marco de desarrollo web construido sobre Ruby, hace uso de la convención sobre la configuración, y está diseñado para maximizar la felicidad del desarrollador.
La mayoría de los desarrolladores familiarizados con Rails deberían poder comenzar un nuevo proyecto con los comandos de andamiaje incluidos y tener una aplicación web básica en funcionamiento en un corto período de tiempo.
Hay una gran cantidad de documentación, muchos desarrolladores utilizan el lenguaje y, como tal, será difícil encontrar un problema que no tenga una solución documentada en algún lugar de Internet. Gracias al equipo de desarrollo de Rails, la documentación está limpia, bien pensada y es un placer trabajar con ella.
Notarás que Rails es sintácticamente muy limpio y simple, las características del lenguaje han sido muy bien pensadas y hacen lo que crees que están haciendo.
Rails tiene muchas características de prueba agradables, puede usar Rspec o el marco de prueba predeterminado. Es agradable ver algo simple ya incluido en el marco y, por supuesto, es fácil de usar.
El trabajo de la base de datos es manejado por el registro activo orm. Si bien no siempre es fantástico, es un placer trabajar con él y proporciona una cantidad razonable de energía, y afortunadamente siempre puedes saltar y escribir sql directamente si es necesario.
Griales
Grails es lo que generalmente prefiero usar, como Rails, es un marco para desarrollar aplicaciones web, prefiere la convención sobre la configuración y le gusta maximizar la felicidad del desarrollador.
Al estar construido sobre Groovy, Grails toma el poder de la JVM con una sintaxis simple, fácil (relativamente) de leer. Sin dejar de mantener la velocidad y otras ventajas proporcionadas por la JVM. Se compila en código de bytes Java y, por supuesto, se puede ejecutar prácticamente en cualquier lugar.
Al igual que Rails, Grails es un marco clásico de MVC. Notarás muchas similitudes entre los dos a este respecto.
Grails utiliza Spring Boot e Hibernate debajo del capó. Estos son dos productos muy maduros. Después de haber estado en uso en la industria durante mucho tiempo, aportan una gran cantidad de características bien diseñadas y estabilidad a la plataforma Grails.
En términos de documentación, Grails está bien documentado, sin embargo, Grails tiene muchos menos usuarios en comparación con Rails. Como resultado, la cantidad de preguntas simples y respondidas que flotan será mucho menor.
Generalmente prefiero usar Grails, sin embargo, Rails es un marco fantástico. Una vez que esté familiarizado con los conceptos básicos, ambos se pueden utilizar para activar una nueva aplicación muy rápidamente y proporcionar las herramientas necesarias para hacer grandes cosas.
La velocidad del idioma no debería ser una preocupación aquí, mientras que Grails obviamente va a correr más rápido, hay mejores cosas de las que preocuparse (como ¿quiero usar Hibernate sobre Active Record, o qué debo cocinar para la cena esta noche?).
Generalmente prefiero usar Hibernate sobre Active Record, Spock sobre Rspec.
Sintácticamente hay pequeñas diferencias, el operador de elvis para uno es una muy buena adición.
Por supuesto, al estar construido sobre la JVM, Grails puede hacer uso de subprocesos y concurrencia. También tiene acceso a cualquier complemento que funcione en el ecosistema de Java.