viernes, 1 de agosto de 2008

Ruby On Rails (Primer capitulo)

Bueno ya desde hace rato no escribia un post relacionado con GNU/LINUX y como lo dice el nombre del Blog "El Blog de MaX ( De Todo un Poco y LINUX)" hay que mantener relación...

El pasado simposium al que su servidor (o sea yo) fue el SISCTI 33 organizado por el Tec de Monterrey que por cierto estuvo bastante bueno...

El taller al que entre durante las conferencias fue al de Ruby on Rails (RoR) bastante intersante :D...

Bueno primero que nada Ruby es un lenguaje de programacion interpretado y orientado a objetos creado por el programador japones Yukihiro "Matz" Matsumoto quien comenzo con el proyecto de Rubi en 1993 y lo presentó en 1995.

Ruby mezcla la sintaxis de Python, Perl con caracteristicas de la programación basada en objetos de Smalltalk.

Y lo mejor de todo su implementación oficial esta basada en software libre.

Ahora Ruby on Rails, es un framework de aplicaciones web de codigo abierto escrito en el lenguaje de programación Ruby, siguiendo el paradigma de la arquitectura Modelo Vista Controlador (MVC).

Esto me recuerda la arquitectura de 3 capas que utilizamos el pasado semestre en clase de sistemas distribuidos, en el cual creamos una aplicacion en 3 o capas ( capa de regla de negocios, capa de cliente, capa de acceso a datos) que tambien lo hicimos en 3 niveles (en una maquina la capa de cliente, en otra maquina la capa de acceso a datos y en otra la capa de reglas de negocios).

Regresando a RoR la arquitectura MVC se trata de dividir la aplicacion en 3 capas (algo parecido a lo anterior) que son:

  • Model: Aqui se encapsula la logica de negocio.
  • View: Esta es la capa de presentacion, aqui se toman en cuenta los detalles del look & feel. De hecho se utilizan plantillas (Templates) que simplifican el trabajo :D.
  • Controller: Se trata del controlador, que se encarga de dirigir las peticiones del navegador hacia una accion concreta.

RoR trata de combinar la simplicidad con la posibilidad de desarrollar aplicaciones escribiendo menos código que con otros frameworks y con un mínimo de configuración.

El lenguaje de programación Ruby permite la metaprogramación, de la cual Rails hace uso, lo que resulta en una sintaxis que muchos de sus usuarios encuentran muy legible.

Rails se distribuye a través de RubyGems, que es el formato oficial de paquete y canal de distribución de librerías y aplicaciones Ruby.

En la estructura de RoR se encuentran 3 Subframeworks:

  • Active Record: Conecta los objetos de negocio con las tablas de bases de datos para crear un modelo que encapsula la logica de negocios y el acceso a datos.
  • Action Pack: Este se encarga de realizar el proceso desde la peticion del cliente a tarves de un navegador web, hasta mostrarle el resultado de la misma. Aqui se representa la capa "Controller" y "View" de la arquitectura MVC.
  • Action Mailer: Este subframework implementa una capa para encapsular los servicios de correo electronico, como mandar passwords, facturas, o cualquier tarea que requiera de un envio automatizado de mails.
En la proxima entrega de este post de RoR profudizare mas en los subframeworks, instalacion de RoR, la configuración entre otras cosas.

Algunas referencias:

Ruby on Rails wikipedia http://es.wikipedia.org/wiki/Action_Mailer

Ruby wikipedia http://es.wikipedia.org/wiki/Ruby

Lenguaje de programacion Ruby http://www.ruby-lang.org/es/

Ruby on Rails http://www.rubyonrails.org