Nuestra tesis dice que:
- 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.
- 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.
- JBullet: Framework Web basado absolutamente en Conventions. Más información sobre jBullet.
- ActiveHibernate: Proyecto cuyo objetivo es unir la facilidad del patrón Active Record de Ruby y la potencia de Hibernate, de tal manera que sea más fácil de configurar y manejar que la actual versión de Hibernate. Más información sobre ActiveHibernate.
- Spring MVC: Incorpora la posibilidad de programar con conventions, eliminando la navegación del fichero de configuración. Más información sobre Spring MVC.
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
- Closures (Blocks): Es la posibilidad de pasar como argumento trozos de código.Una orientación a objetos total. Realmente poderoso.
- mixing: es otra forma de reutilizar código. No es exactamente herencia múltiple, si no más bien la posibilidad de hacer el include de una clase en otra.
Cosas de RoR que también hay en los otros lenguajes:
- MVC: Java, PHP.
- Active Record: Java, PHP.
- AJAX Helpers: Java, PHP.
- Pruebas unitarias: PHP, Java
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:
- Tendencia a migrar toda la web 2.0 a PHP
- Java Hibernate versus Active Record de RoR
- Análisis de la imposibilidad de Ruby como mainstream
- Por qué RoR apesta
- Siete razones por las que volver a PHP
- Comparativa entre Java, RoR y PHP.
- Por qué PHP nunca podrá ser como RoR
- La evolución de del desarrollo de software
- Cinco razones por las que no utilizar Ruby
- Feevy experimental problemas de escalabilidad al estar hecho en RoR
- RoR hace lento a Twitter