No reclamado: están trabajando en Ruby On Rails ?
Ruby On Rails Reseñas: 4.5/5 — Muy bien valorado
Ruby on Rails, a menudo denominado Rails, es un marco de aplicación web de código abierto escrito en Ruby. Enfatiza la convención sobre la configuración (CoC) y el principio de no repetirse (DRY), con el objetivo de simplificar y acelerar el desarrollo web al proporcionar estructuras predeterminadas para una base de datos, un servicio web y páginas web. Rails permite a los desarrolladores utilizar un patrón modelo-vista-controlador (MVC) para organizar la programación de aplicaciones. Su rico ecosistema de gemas (bibliotecas) permite un rápido desarrollo de aplicaciones web complejas.
| Capacidades |
API
CLI
OSS
|
|---|---|
| Segmento |
Pequeña Empresa
Mercado medio
Trabajador Autónomo
Empresa
|
| Facilidad de uso |
Intermedio
Avanzado
|
| Despliegue | Nube/SaaS/basado en web, N/A, Linux local, Windows local |
| Soporte | Preguntas frecuentes / Foro |
| Capacitación Especializada | Documentación |
| Idiomas | Inglés |
El lenguaje Ruby es rico y natural. El framework Rails facilitó y aceleró el desarrollo.
Se ha vuelto demasiado pesado y hay demasiadas conductas "mágicas" que deben aprenderse.
Comercio electrónico. Desarrollo más rápido y económico con implementación y alojamiento simplificados.
Muy conveniente, muchas bibliotecas para la mayoría de los casos de uso.
La tipificación dinámica es propensa a errores y no es lo suficientemente expresiva.
Servicios de intranet. La principal ventaja es la rápida creación de prototipos.
Lo mejor de Rails es su comunidad. Es un framework en constante evolución, desarrollado en un lenguaje muy fácil de entender. También es ideal para equipos pequeños, ya que todo lo necesario para crear una aplicación web viene integrado. Desde la conexión a bases de datos y el manejo de objetos de datos, hasta la renderización de vistas y la gestión de inyecciones SQL en idiomas internacionales. Ruby on Rails es un paquete completo con todo lo necesario para crear una aplicación web.
Hay mucha magia en Rails; con esto me refiero a que a veces las cosas simplemente suceden sin saber por qué. Además, Rails tiene muchos de los mismos problemas que Ruby: es lento y da al desarrollador mucha libertad para cometer muchos errores. Tampoco escala más allá de 30 o 40 ingenieros a menos que sepas realmente lo que haces. Se vuelve difícil de mantener, lento y, en general, un fastidio. Rails también sigue usando MVC, una forma bastante anticuada de crear aplicaciones web, ya que cada vez más personas optan por aplicaciones de una sola página creadas con Node.
He trabajado en muchas empresas que utilizan Ruby on Rails como su principal pila tecnológica. Las ventajas son que Ruby on Rails funciona, pero no a gran escala, y lo hace todo más fácil.
Si estás desarrollando una aplicación web lo suficientemente grande, creo que es un buen framework. Facilita el inicio sin necesidad de configurar nada y ofrece una excelente estructura de directorios basada en MVC, algo que puede ser complicado de configurar para frameworks como Sinatra. Hay muchas bibliotecas que admiten la integración con Ruby on Rails de fábrica, lo cual siempre es positivo. Otra ventaja de Ruby on Rails es su comunidad. Casi siempre encuentras una solución a cualquier problema que busques, lo que agiliza mucho el desarrollo. Y me encantan los generadores que vienen con el framework; ¡ahorran muchísimo tiempo!
Personalmente, no me gusta empezar con tantas cosas en mi aplicación. He desarrollado ambas usando Ruby on Rails y Sinatra; mi primera reacción es usar Sinatra, porque es un framework muy ligero y puedo configurar y añadir cosas según las necesite.
Soy desarrollador y he desarrollado varios servicios con Ruby on Rails. Lo he usado para crear servicios muy grandes, que atienden a millones de personas. Es un framework perfecto para una startup y facilita el proceso de desarrollo.
Lo que más me gusta de Ruby on Rails es su mentalidad de "Convenciones sobre Configuraciones". Todo en Rails tiene una convención sobre dónde colocar las cosas, cómo hacerlas, etc. Si sigues las convenciones de Rails, el framework te quita muchas cargas pesadas.
La desventaja de las convenciones dogmáticas. La mayoría de las convenciones de Rails son excelentes y razonables para el proceso normal de desarrollo web. Pero las necesidades empresariales no siempre son las mismas y llegará un momento en que tendremos que hacer cosas para las que Rails no fue configurado. En ese momento, la magia de Rails se desvanece. Hay que analizar muchos aspectos solo para personalizar algo que no es propio de Rails.
He desarrollado varios sistemas de gestión de oficinas, un sistema de comercio electrónico y pequeñas aplicaciones cívicas con Rails. La principal ventaja de Rails es que es muy fácil y productivo crear una aplicación web. Especialmente para aplicaciones pequeñas y típicas basadas en bases de datos, la productividad al usar Rails es muy alta. Además, al crear prototipos, una aplicación Rails rápida y eficiente puede ser una gran ventaja.
Ruby on Jets es un nuevo framework similar a Ruby on Rails. Jets nos brinda un amplio potencial para crear aplicaciones sin servidor y su implementación.
Dado que el marco se introdujo recientemente, los ejemplos de implementación y la falta de documentación adecuada fueron un punto problemático para nosotros.
Ruby on Jets: La implementación de la arquitectura de microservicios fue muy sencilla con este framework, ya que cada controlador se considerará e implementará como una única función lambda.
RoR facilita el aprendizaje del lenguaje para principiantes y ofrece una mejor legibilidad del código. Evita la duplicación de código y proporciona una estructura estándar para aplicaciones web, donde se respetan todos los patrones comunes. El principio MVC promueve la modularidad y la extensibilidad de la aplicación. Permite el desarrollo de funcionalidades increíblemente rápido, lo que aumenta la productividad. Existen numerosas gemas disponibles públicamente (bibliotecas de terceros) para facilitar el desarrollo de aplicaciones web. RoR cuenta con una enorme comunidad activa de desarrolladores que buscan ayuda y utilizan sus fragmentos de código.
Puede ser difícil encontrar buena documentación. RoR tiene un proceso de ejecución lento que dificulta su escalabilidad. El tiempo de arranque puede ser muy lento dependiendo de las gemas y las dependencias. Los desarrolladores no tienen control total sobre la arquitectura del framework ni sobre los módulos. La falta de estabilidad, debido a su constante evolución, dificulta el aprendizaje para principiantes, ya que siempre hay que estar actualizado.
RoR se creó para acelerar el proceso de desarrollo, lo que lo hace beneficioso para proyectos con tiempo limitado. RoR es perfecto para MVP y sitios web pequeños y medianos. El principio "No te repitas" hace que los proyectos RoR sean eficientes de mantener. Se puede ampliar fácilmente con nuevas funciones.
Existe una gran cantidad de documentación y soporte de la comunidad para familiarizarse rápidamente con Ruby on Rails (RoR). La mayoría de las ideas que se te ocurren para una nueva aplicación ya cuentan con gemas, plugins y tutoriales que te muestran exactamente cómo conseguir lo que quieres sin escribir mucho código. En muchos casos, puedes escribir código que sea tu mejor estimación de cómo debería funcionar algo, y que cubrirá el 80% de los casos que necesitas gestionar, lo que te proporcionará un producto mínimamente viable (MVP) que puedes lanzar al mercado rápidamente.
Aunque puedes obtener el 80% de lo que quieres rápidamente, el 20% restante tarda entre el doble y el cuádruple más que con cualquier otra solución que hayamos probado. Tanto Ruby (el lenguaje) como Rails (el framework) se desarrollaron asumiendo que se usarían solo de forma muy específica. A medida que tu proyecto, sea cual sea, crece, esas suposiciones ya no se ajustan a tu caso de uso, y te encuentras luchando contra el lenguaje y el framework más de lo que te ayudan. RoR facilita seguir ampliando el alcance de tu MVP hasta el punto de acumular tanta deuda técnica que terminas teniendo que reescribirlo todo. Lo que antes era rápido y fácil de iterar ahora es muy lento y difícil de mantener. Es muy fácil de aprender, pero difícil de dominar; en consecuencia, es difícil encontrar talento cualificado en RoR sin pagar el doble de lo que cuesta a los desarrolladores de Java Enterprise. En resumen, RoR no escala a medida que tu negocio crece; se convierte en un lastre. Por último, lamentamos que solo funcione bien en Linux. Apenas funciona en Windows, lo que requiere que los miembros de nuestro equipo que usan Windows ejecuten una máquina virtual solo para trabajar con Rails.
Nuestro negocio necesitaba una forma de convertir rápidamente una idea de comercio electrónico en un producto mínimamente viable que pudiéramos empezar a vender de inmediato. Era una buena opción para nuestra startup: comprobar si nuestras ideas tenían futuro y adaptarnos rápidamente a medida que encontrábamos la compatibilidad entre el producto y el mercado.