La mentalidad de convención sobre configuración es lo mejor de Rails. He trabajado en muchos lugares donde usaban su propia mezcla de frameworks o crecían de manera orgánica, y pasas las primeras semanas solo aprendiendo el framework, y luego el resto de tu vida laboral tratando de resolver problemas en ese framework que han sido resueltos por personas mucho más inteligentes que tú. Esto es lo que Rails resuelve de una manera simple, fácil de aprender, con una gran documentación y escalable. Reseña recopilada por y alojada en G2.com.
La lentitud del marco. Es definitivamente lo suficientemente rápido para la mayoría de los casos de uso, es solo que sé que estoy desperdiciando muuuchos ciclos en el marco de Rails. Vale totalmente la pena y el hardware es muy barato, es solo que mi servicio no es tan intensivo en ingresos, así que cualquier esquina que se pueda recortar vale la pena considerarla. Reseña recopilada por y alojada en G2.com.
Algunas de las primeras cosas que me gustaron al venir de los frameworks de PHP fueron el lenguaje Ruby y el paradigma de "convención sobre configuración". Una vez que tienes eso en tu mentalidad y con la ayuda de las guías de Ruby on Rails y las herramientas de scaffolding, tendrás una estructura base sólida para centrarte en construir las características que importan. Tener pruebas como un ciudadano de primera clase también te permite aprender cosas realmente productivas/ágiles como BDD y el ciclo de refactorización rojo/verde.
Al principio puede parecer demasiado rígido con respecto a sus convenciones, pero después de usar Rails por un tiempo, podrás notar que puedes aplicar diferentes convenciones y patrones de diseño para lograr diferentes propósitos, por ejemplo, usar Objetos de Servicio para evitar modelos demasiado grandes, renderizar Javascript del lado del servidor en lugar de HTML/ERB, conectarse a bases de datos no SQL o usar tipos de datos jsonb de PostgreSQL, trabajos en segundo plano.
Lo que es aún mejor es que Rails está incorporando nuevas tecnologías con cada nueva versión. Por ejemplo, los web sockets se incluirán en Rails 5 a través de ActionCable y Rails 4 incluyó ActiveJob, que era algo que tenías que hacer "manualmente" antes para tener soporte para trabajos asíncronos.
Y algo realmente importante cuando se tiene código en producción es el grupo de Google de informes de seguridad de Rails que está constantemente informando sobre problemas de seguridad con parches y/o instrucciones para mitigar vulnerabilidades. Reseña recopilada por y alojada en G2.com.
No hay demasiadas cosas que no me gustan de Rails, pero a pesar de que una de las cosas que más me gustan son las convenciones, algunas de ellas no me gustan demasiado, como los concerns.
Quizás otra cosa que no me gusta demasiado es el nivel/longitud de las pilas de componentes, pero tal vez eso es algo que está mejorando con el tiempo. Quiero decir, para un punto dado en la ejecución del código, en mi opinión, hay una larga pila antes de él. La mayoría de las veces, esas son parte de las herramientas/gemas que estás usando, pero en mi humilde opinión, algunas cosas podrían ser un poco más planas. De todos modos, no soy un colaborador de Rails y tengo que estar de acuerdo con el compromiso entre productividad y eficiencia en la ejecución del código. Reseña recopilada por y alojada en G2.com.
Hemos estado utilizando Rails en 5 proyectos en los que nuestra empresa está trabajando y creo que es realmente cierto lo que dicen sobre Rails: "Permite a equipos pequeños hacer grandes cosas". Hemos trasladado varios proyectos de otros frameworks a Rails principalmente porque hay una buena cantidad de funcionalidad lista para usar y realmente no necesitamos perder tiempo escribiendo código para eso. Nos ha permitido centrarnos en construir el producto en lugar de preocuparnos por cosas como el enrutamiento y agregar cosas a la base de datos.
También hemos encontrado que la comunidad de Rails es realmente útil y activa, lo que también nos ha ayudado a crecer como mejores desarrolladores. Debido a que amamos la comunidad de Rails, varios de nuestros desarrolladores también han comenzado a contribuir a ella, ¡lo cual es realmente agradable de ver! Reseña recopilada por y alojada en G2.com.
Rails tiene una curva de aprendizaje bastante pronunciada y también se necesita mucho cuidado al integrar otros frameworks como AngularJS en una aplicación de Rails.
También hemos visto que, dado que hay tanta magia de la que Rails se encarga, existe la posibilidad de que los desarrolladores a veces no entiendan lo que realmente está sucediendo en el fondo. Reseña recopilada por y alojada en G2.com.
Alta productividad, legibilidad y mantenibilidad. Ruby es un excelente lenguaje que permite al desarrollador centrarse en conceptos de diseño de software de alto nivel. Reseña recopilada por y alojada en G2.com.
La concurrencia basada en procesos es muy ineficiente. Rails usaba mucha RAM, es difícil hacer aplicaciones en tiempo real con él. Reseña recopilada por y alojada en G2.com.
Es una gran herramienta para crear MVPs. Es rápida y hermosa. El código de Rails es limpio y efectivo. También puedo usar el servidor gratuito de Heroku y es genial. Rails es un framework de código abierto. La documentación también es casi perfecta y no necesitas leer algo más para empezar a programar. También hay algunos buenos sistemas de gestión de contenido de Rails, motores de comercio electrónico, etc. Reseña recopilada por y alojada en G2.com.
Gestión de dependencias (pero es posible que sea porque he usado PHP antes). Lo que también era importante para mí es la compatibilidad con Windows, pero sé que es más probable que sea mi problema, no el de Rails :) (Usé RailsInstaller y SQLite en Windows). No hay tantas ofertas de trabajo para desarrolladores junior, así que es difícil encontrar un trabajo si eres un desarrollador junior. Especialmente si no estás en EE. UU. (pero sería justo decir que la proporción de trabajo remoto a trabajo en oficina es la mejor). Reseña recopilada por y alojada en G2.com.
La comunidad que rodea a Rails es vasta. Esto proporciona una gran variedad de herramientas que las personas han construido para facilitar el desarrollo con Rails. También significa que hay personas que utilizan Rails en una amplia gama de aplicaciones. Esto retroalimenta el desarrollo de Rails, convirtiéndolo en una herramienta que funciona en muchas situaciones.
Rails también tiene una cultura de pruebas vibrante. Esto resulta en productos más confiables que están bien construidos. Es tan fácil hacer TDD usando Rails. Esto me ha ahorrado muchas horas de frustración ya que cada aspecto de los productos es probado. En general, TDD ha mejorado nuestro ritmo de lanzamiento y ha reducido significativamente nuestra rotación de código. Reseña recopilada por y alojada en G2.com.
El soporte a largo plazo está rezagado respecto a lo que uno esperaría de un producto de pago. Esto es obviamente porque es una comunidad de código abierto la que mantiene el producto. Sin embargo, hay soluciones de pago a las que la gente puede suscribirse para LTS. Reseña recopilada por y alojada en G2.com.
Ruby on Rails hace que sea rápido poner en marcha tu producto y tener un MVP funcionando para una pequeña startup. Si estás en una empresa más grande, el monolito de Rails te permite imponer estándares como estructuras de bases de datos predeterminadas y patrones de enrutamiento. Ruby Gems hace que sea trivial agregar funcionalidad adicional a tu entorno y los increíbles marcos de prueba como Capybara y Cucumber hacen que TDD y BDD sean muy fáciles. Aunque todavía es relativamente joven con menos de 10 años, ha sido probado en batalla por empresas como Twitter y Github. Hay algo para desarrolladores de cualquier nivel. Reseña recopilada por y alojada en G2.com.
Debido a que Ruby on Rails impone estándares, a veces resulta difícil adaptar tu plataforma a necesidades específicas; existe la "manera Rails" de desarrollar y desplegar, que puede ser drásticamente diferente de lo que los desarrolladores pueden estar acostumbrados. Además, la naturaleza monolítica de Rails dificultaba el uso de Rails como back-end mientras se empleaba un front-end como Ember.js. La serialización JSON de Active Model ha aliviado parte de este estrés y Rails API se ha fusionado en la próxima versión de Rails 5.0, haciendo que esto sea menos preocupante. Reseña recopilada por y alojada en G2.com.
Usamos Rails como una API web para nuestra aplicación móvil. Tiene muchas herramientas listas para usar y muchas convenciones que hacen innecesarias muchas configuraciones, lo que lo hace muy rápido y fácil de implementar. Rails tiene una documentación increíble y una comunidad enorme, y casi todas las preguntas de principiantes han sido respondidas, lo que lo hace muy amigable para principiantes a pesar del lenguaje subyacente Ruby, que está mal documentado. Debido al tamaño de la comunidad de Rails, hay muchas gemas de terceros que se adaptan a tus necesidades. Reseña recopilada por y alojada en G2.com.
La filosofía de "convenciones sobre configuraciones" detrás de Rails también puede ser frustrante para algunos desarrolladores que buscan una solución más personalizable. Por ejemplo, como una API web, Rails tiene una herramienta de análisis JSON fácil de usar siempre que la estructura JSON refleje tus modelos subyacentes. Sin embargo, si deseas crear JSON personalizado, esto puede resultar en un código extremadamente verboso y poco estético. Reseña recopilada por y alojada en G2.com.
Para el desarrollo web rápido, Ruby on Rails es un marco maravilloso que funciona de maravilla. Ruby como lenguaje de programación es muy fácil de codificar y aprender y Rails está completamente basado en Ruby. Los elementos MVC están muy bien integrados en Ruby on Rails y nos permite escribir código limpio y reutilizable. Además, hay una muy buena comunidad para Ruby on Rails. Reseña recopilada por y alojada en G2.com.
A medida que su aplicación web crece, ruby on rails puede ralentizar su aplicación un poco. Esto es en comparación con otros y este es uno de los principales inconvenientes de usar ruby on rails. Reseña recopilada por y alojada en G2.com.
* Fácil de configurar.
* Muchas herramientas (gemas) para elegir.
* Muy flexible, funciona con muchos marcos.
* La canalización de activos es realmente agradable.
* Gran comunidad - muy grande y activa.
* Todavía en desarrollo muy activo.
* Es gratis.
* Buen rendimiento.
* Muchas buenas suposiciones, promueve una buena estructura de aplicación.
* TDD Reseña recopilada por y alojada en G2.com.
* ActiveRecord - es bueno para las personas que son nuevas en este campo. Pero es muy fácil caer en sus trampas.
* Escalar puede ser complicado, especialmente para los recién llegados.
* No impone buenas prácticas. Las personas pueden escribir fácilmente código malo para hacer las cosas. Reseña recopilada por y alojada en G2.com.