viernes, 6 de abril de 2007

RoR :: Ruby on Rails



A petición de Rafilla que quiere meterse en éste mundillo voy a hacer un post sobre cómo empecé hace un par de meses con ésto de RoR. Todavía no soy quien para enseñar nada sobre éste lenguaje así que os contaré mi impresión y os dejaré los links a los tutoriales por donde empecé yo :)

Hoy en día casi todas las aplicaciones web que utilizamos funcionan con una base de datos, aunque sólo sea para el control de usuarios, todas necesitan poder consultar datos, añadir datos nuevos y modificar los ya existentes, hasta ahí todos de acuerdo no? Vale.

¿Cómo lo hacen? Más bien, ¿qué usan para hacerlo? Pues al principio yo creo que lo que más abundaba era Java, pesado de cojones. Ahora yo creo que Java sigue estándo por ahí en forma de JSP, también se usa ASP, .NET y tal...aunque lo que más prolifera es PHP y desde hace un tiempo Ruby que creo que acabará comiendo terreno a pasos agigantados. ¿por qué? Porque en todos esos lenguajes para usar una base de datos tienes que hacer tus métodos de control de la base de datos, tirar SQL, etc... y sin embargo Ruby hace todo eso por ti. Grandes ventajas que le veo:

- Orientado a Objetos (a mi me gusta trabajar así, me parece más sencillo y organizado)
- MVC (ModeloVistaControlador, más organizado todavía)
- No defines estructuras de datos ni variables, todo eso lo hace ruby a partir de la base de datos nada más.
- Interfaz de Usuario? Pues también te lo hace Ruby (el genial scaffold)

Yo leí ésto antes de probarlo y me lo imaginaba todo mucho más cutre de lo que es en realidad. Lo mejor es que lo probéis, aquí os dejo por donde empecé yo:

- Para ver un poco como es el lenguaje: Un "simluador" de Ruby
- Para probarlo en condiciones: "EL" tutorial en dos partes: primera y segunda

El tutorial de "Ruby sobre Railes" está orientado a usuarios de Windows, yo trabajo con Ruby sobre Linux (ubuntu) y se puede seguir perfectamente, de hecho vereis que las llamadas a los scripts de Ruby son totalmente estilo linux. Yo lo tengo montado sobre: mysql y rails.

Consejo: Los interfaces que genera el scaffold del tutorial...está claro que son feos y son para que los pongáis bonitos...antes de empezar a pelearos a muerte con los rhtml (que no os vendrá mal) probad a cambiar la palabra scaffold por ajax_scaffold, es decir donde os diga "./script/generate scaffold recipes" poned "./script/generate ajax_scaffold recipes". De nada... xD

UPDATE: Buscando la imagen para el post he encontrado una chuleta para RoR que nos puede venir a más de uno (y me incluyo).

2 comentarios:

Rfx dijo...

vamos a tener que hacer un bunker de ruby ya!! P.D: mucho tiene q extenderse para desbancar a php.. ¿qué tal va el servidor, rails? conoces de alguna web que esté online y tenga mucho tirón para ver que tal va???

luiX_ dijo...

Pues la verdad es tengo en la Linx+ de éste mes un articulo donde vienen sitios web que usan Ruby (me suena Amazon) pero no sobre Rails, yo Rails lo uso durante el desarrollo porque se integra de puta madre en RadRails (soporte de RoR para eclipse, del que hablaré en el siguiente post de ruby xD) para producción lo metería en Apache con FastCGI que acelera bastante el tema.

Lo de php...son lenguajes diferentes y yo creo que de propositos diferentes, php es más de propósito "general" mientras que RoR está más bien pensado para casos generales (aunq pensado no quiere decir que no pueda hacer de todo xD) además de que Ruby existe tb fuera del ámbito web ;)

De todas formas opino que Ruby está pensado para lo que se usa la web hoy en día.