Ha causado mucho interés la noticia sobre la decisión de Twitter de buscar alternativas para Ruby on Rails como su plataforma de desarrollo debido a limitantes en el performance de sus servicios. Expongo a continuación mis two cents al respecto, y el porque yo no cambio Ruby on Rails como plataforma de desarrollo preferida a pesar de Twitter.
Creo que Ruby on Rails, como cualquier programa informático, es una herramienta y como tal tiene sus ventajas y sus debilidades; siendo el performance a grandes escalas(mira que considerando grandes escalas un sitio como Twitter, que tiene un volumen de acceso particularmente alto y continuo) uno de los comentados frecuentemente. En lo personal son las ventajas las que aún me siguen encantando, en particular para proyectos que no van a llegar a tener el nivel de volumen de un Twitter o similar; cuales son las razones por las que personalmente seguiría confiando en RoR a pesar de que twitter se cambie guiño :

  1. Facilidad de aprendizaje.
  2. Orden, Elegancia, estilo, llamale como quieras, al hecho de que te sugiere una estructura, y una forma(convention over configuration) lo estamos viviendo in house en la manera en que facilmente una persona puede incorporarse a un equipo de trabajo, entender la aplicación y comenzar a ser productivo casi de immediato; solo por el simple hecho de que las vistas siempre estarán en el View, las reglas del negocio en los modelos(Model) y la interconexión entre tus datos y tus usuarios en los Controller (Model-View-Controller).
  3. Es Open Source. Cualquier joven talentoso puede llegar a hacerse de un capital elaborando un sistema de la nada y pagando $$0.00 por las herramientas a usar.
  4. Es multiplataforma para el desarrollador y para la implementación.
  5. Es una plataforma en constante desarrollo, que quiero decir con eso, que por la comunidad que lo apoya, por el tiempo que tiene de haber iniciado, y por los cambios que la tecnología va teniendo, es muy probable que las limitantes de ahora para sitios como Twitter puedan llegar a desaparece en un futuro muy cercano.(Ruby ya se puede utilizar en una consola virtual de java => jruby, ya se habla de cambios en los nuevos releases de ruby que le permitiran ser un lenguaje multitasking, etc.)
  6. Don’t Repeat Your Self, es increible como te beneficias de esta filosofía de desarrollo cuando ves los resultados(mejor calidad de sfw, un solo punto de modificación, disminución de tiempo, etc) en medio de un proyecto, y aún mas cuando te das cuenta en que es un concepto que lo podes aplicar en cualquier entorno de trabajo.
  7. Se mezcla increiblemente bien con la metodología Agile development para desarrollar aplicaciones que tengan contentos a los usuarios. De verás funciona, particularmente cuando tenes la oportunidad de trabajar con grupo pequeños de usuarios especializados que son quienes conocen y deciden sobre las reglas de un proceso de negocio.

Bueno mano podría continuar, pero creo que te he dado ya algunas de las razones por las que personalmente considero que Ruby on Rails sigue siendo una alternativa muy valida de aprender para desarrollar Software de manera elegante, rapida y divertida; cuando llege a desarrollar un sitio con los problemas de performance que tiene Twitter por la demanda entonces(además de estar loco de alegría y posiblemente forrado de billetes risa) pensaré en evaluar cambiar Ruby on Rails.

Saludos

Douglas