Ruby on Rails

08 Mar 2007

Tengo ganas de escribir, me pasan muchas cosas, pero esas ganas se esfuman cuando llego a casa después de la mitad del día programando y la otra mitad estudiando… Cuando llego a casa me olvido de las cosas que tenía ganas de contar y me centro en otras que están en otro plano.

Hace una semana y media cogí de la biblioteca de mi escuela Agile Web Development with Rails, que trata desde cero (incluye una introducción al lenguaje Ruby) el framework para realizar webs Ruby on Rails. Conocía su existencia desde hacía un año y medio, pero esta semana lo he conocido más a fondo. Quizás la evolución que ha sufrido mi opinión con respecto al tema es por culpa de lo que comentaba al principio, que al llegar a casa no me apetece tocar un ordenador. Pero ha resultado que el primer día me fascinó, el segundo me enamoró, y poco a poco voy viendo que es muy complicado diseñar niveles de abstracción, que al fin y al cabo es lo que hace Rails.

Se basa en el paradigma MVC, algo a lo que si no coges malos vicios al programar, acabas tendiendo a hacer por tí mismo. Este paradigma separa el código que maneja los datos (modelo), del que los muestra (vista) del que recibe las acciones que manejan los datos (controlador). Puedes conocer más sobre este paradigma, o patrón, en el artículo de la Wikipedia sobre MVC.

En la web de Ruby on Rails hay una serie de screencasts que muestran algos desarrollos. Parecen muy bonitos, pero toda la “magia” que tiene eso por debajo “no es gratis”, parafraseando a un profesor mío de la Universidad. Algo parecido se discute en un post en Quoderat: Rails vs PHP: MVC or view Centric?

Mi opinión sobre Ruby on Rails es peor ahora que hace una semana, pero necesito probarlo más allá de instalarlo y hacer cuatro pruebas pequeñas, quiero plantearme una aplicación concreta y desarrollarla, apuntar los problemas que me han surgido y plantearlos aquí. ¿Has usado Ruby on Rails? ¿Después de conocerlo volviste a PHP/JSP/ASP?

Si no me vuelve a entusiasmar, probaré con PHP on Trax o CakePHP, que también tienen una misma filosofía, pero implementada en PHP, lo cual tiene muchas ventajas en la práctica; como que no te costará encontrar un ISP que te ofrezca proceso de PHP en su servidor.