← Ir a portada

¿Ruby on Rails está muerto?

La sensación general de los que escriben éste artículo es que Ruby on Rails está muerto. O mejor dicho: el efecto Ruby on Rails ha muerto. El objetivo de éste artículo es plasmar un breve análisis que hemos realizado entorno a Ruby on Rails (en adelante, RoR) , tratando de comprobar si realmente el efecto RoRls está muerto. Y, sobre todo, queremos abordar la cuestión abandonando todo fanatismo y defensa sectarea de cualquier lenguaje.

No es difícil observar cómo se ha incrementado la popularidad de Ruby en los últimos años. Desde el nacimiento y popularización de su framework RoR se han escrito ríos de tinta a favor y en contra de ésta solución para el desarrollo web.

Nuestra tesis dice que:

  1. pese a RoR nada más salir parecía netamente mejor que otras opciones como PHP o Java, se demuestra que realmente es débil donde PHP o Java son fuertes con lo que, si es mejor que PHP o Java, lo es sólo en parte.
  2. PHP y Java han ido absorbiendo o absorberán la mayoría de las ventajas de RoR con lo que las razones para pasarse a RoR desaparecerán casi completamente.

Es por ello que el descubrimiento de que RoR tiene desventajas y la reacción de PHP y Java para igualarse en sus ventajas hace que desaparezca la necesidad de aprender o adoptar RoR.

Reacción de PHP a la llegada de RoR
Existen frameworks profesionales en PHP de una calidad comparable a la de RoR como por ejemplo Symphony o Cake. Sin embargo, el ejemplo claro sería el Zend Framework que nació directamente como reacción a RoR. Los otros dos existían antes. El Zend Framework es un conjunto de clases muy desacopladas que siguen conceptos como MVC, Active Record, Inyección de dependencias, DSL, pruebas unitarias, etc. Hace poco se ha publicado la versión 1.0 que ofrece suficientes garantías como para ser utilizada en producción.

Reacción de Java frente a la llegada de RoR
No se puede hablar de una absorción de Ruby puramente dicha, pero si que es verdad que sus ideas se han tomado en serio en varios sectores de la comunidad.

Actual estandar en Java Spring considerado por muchos la nueva J2EE, habrá que esperar a ver que hacen estos chicos en la versión 3, si apuestan por adoptar estas ideas ya se pueden ir despidiendo los de Ruby, lo que no se como de costoso es adaptar el actual framework para que funcione con las ideas de Ruby, a lo mejor es peor el remedio que la enfermedad. Tendrían eso pendiente e incorporar la posibilidad de utilizar componentes Ajax desde Spring MVC.

Fortalezas y debilidades de RoR

Desventaja:La paradoja de Ruby on Rails.
La genialidad del lenguaje Ruby mezclada con el acierto del espíritu Conventions over Configurations convierte Ruby on Rails en una estupenda opción para desarrollar sitios realmente grandes (menos código, más fácil de mantener, más reusable)…. pero Ruby no escala para sitios grandes, con lo que se convierte en una opción útil sólo cuando quieres programar sitios grandes y complejos con pocos usuarios…

Desventaja:Problemática de la escalabilidad
Existen dos problemas relacionados con el rendimiento de las aplicaciones web: cómo se incrementa el coste (de desarrollo o de hardware) cuando se incrementa el número de usuarios, y cómo afecta al coste el necesitar enormes transacciones con bases de datos. Java tradicionalmente es la opción elegida cuando se trata de transacciones: tiene una probada eficacia en bancos, etc. PHP, en cambio, es la opción dominante en la mayoría de portales con miles de usuarios.

Ventajas: qué hace a Ruby un lenguaje orientado a objetos más poderoso que el resto

Cosas de RoR que también hay en los otros lenguajes:

Conclusión
Con la información que tenemos disponible resulta difícil concluir categóricamente que el efecto RoR esté muerto. Resulta sorprendente la baja calidad de muchas de las críticas que se realizan entre los diferentes partidarios de los distintos lenguajes. Cuando pensamos en éste artículo nos sentimos con la suficiente fuerza como para demostrar que RoR no tenía futuro. Admitimos que nos hemos quedado un poco a medias. De todas formas esperamos que ayude a reflexionar sobre el tema y a abrir debate.

Algunas de las fuentes más interesantes:

Apuntes relacionados:

10 Respuestas a “¿Ruby on Rails está muerto?”

  1. noth dice:

    genial!!, un articulo muy bueno. gracias por compartirlo

  2. Lek dice:

    Hombre, hay algo que (creo) no es muy correcto en el planteamiento del artículo:

    PHP y Java han ido absorbiendo o absorberán la mayoría de las ventajas de RoR con lo que las razones para pasarse a RoR desaparecerán casi completamente

    Digo yo que RoR también puede absorber ventajas de los demás, ¿no? Reconozco un desconocimiento técnico de las entrañas de la plataforma, pero parece que (al menos en lo que a Ruby se refiere) la cosa está evolucionando, ¿no?

  3. Luis Artola dice:

    Lo que pasa es que, en nuestra opinión, hace falta que Ruby sea mejor para ue la gente lo adopte. No le basta con ser igual de bueno. Nadie se cambia a un nuevo lenguaje para estar igual, sino para estar mejor.

    Creo que RoR lo tiene muy difícil para convertirse en mainstream…

    gracias por el comentario!

  4. Juan Lupión dice:

    Otra de las ventajas de Ruby es lo dinámico del lenguaje. Por ejemplo, dada una tabla de nombre Mymodel con los campos field1, field2 y field3 la implementación de ActiveRecord nos permite invocar (sin tener que definir ninguna función) lo siguiente:

    Mymodel.find_by_field1(valor1)
    Mymodel.find_or_create_by_field2(valor2)

    o, rizando el rizo, estas invocaciones serían equivalentes:

    Mymodel.find_or_create_by_field3_and_field2(valor3, valor2)
    Mymodel.find_or_create_by_field2_and_field3(valor2, valor3)

    Y esto podría extenderse para tablas con, por ejemplo, 20 atributos. Obviamente esto no deja de ser una forma de azúcar sintáctico, pero lo que cabe destacar aquí no es tanto que implementar algo parecido en Java o PHP no es precisamente trivial (si es que es posible) sino que Rails está lleno de este tipo de argucias, y se aplican no sólo a cuestiones sencillas de modelado de datos sino para funcionar con técnicas más complejas como guardar modelos en memoria, cachear páginas, etc.

  5. Luis Artola dice:

    Hola Juan (por cierto, gran página sobrerailes):

    sin duda, Ruby es un lenguaje superelegante y Rails sabe aprovecharse de ello. Me encanta ese “azúcar sintáctico” jejeje

  6. deigote dice:

    Os habeis olvidado de Grails, que es realmente interesante dentro del mundo Java :-)

  7. [...] la posibilidad de pasar como argumento un trozo de código. Es una de las principales ventajas de Ruby frente a PHP y amplía enormemente las posibilidades de reutilización de [...]

  8. [...] El análisis que hicimos en programanía del “efecto Ruby” sobre otros lenguajes como PH… [...]

  9. Emanuel dice:

    Rails al final no murio y Twitter supo arreglarselas para escalar…

  10. andres dice:

    Hola! Pues opino todo lo contrario, yo soy de El Salvador y en paises latinoamericanos y parte de EEUU prefieren utilizar lenguajes como python, RoR o JAVA, ya que php se ha convertido en un lenguaje muy manoseado por cualquiera, debil ante ataques de sqlinjection, xss, rfi y lfi, aun utilizando o no un framework, es un lenguaje desordenado, JAVA por lo tanto es robusto y grande, pero en esta epoca, esta un poco mas orientado a tecnologias moviles (android) que a la web, se nota que el futuro esta en manos de Scala, RoR y Python por lo menos aca…. Al escuchar programadores y desarrolladores queriendo aprender esos lenguajes a como de lugar no siento que este muriendo.

Deja un comentario