Está en la página 1de 7

Ruby on Rails es la nueva generacin en desarrollo de aplicaciones Web, y junto con AJAX est creando una revolucin en la industria

del desarrollo de software de web. Ruby es un lenguaje de programacin interpretado y orientado a objetos. La filosofa de Ruby es don't repeat yourself (DRY) - no te repitas. La idea de ruby es que usted no necesita repetir lo que ya ha definido en otro lugar. Esto hace a ruby muy compacto. Rails es un armazn de libreras diseado especficamente para crear aplicaciones de web. Como est hecho en ruby, es compatible con la filosofa de DRY. En vez de configuracin, Rails prefiere convencin y anotaciones. Esto proviene principalmente de las frustraciones con plataformas que obligan a uno a repetir en archivos de configuracin XML una historia que ya se ha dicho en cdigo.
Tutorial de ruby http://www.hackerdude.com/courses/rails/ practica http://es.scribd.com/doc/15485640/Ruby-on-Rails

Introduccin a Ruby on Rails


Introduccin al framework de Ruby on Rails incluyendo el tpico -hola mundo- para dar nuestros primeros pasos. Desde que tuve conocimiento de la revolucin del diseo de aplicaciones web, popularmente conocido como Web 2.0, he sido testigo de varias tecnologas que giran alrededor de sta: Sindicacin de contenidos RSS, AJAX, Tags, Web Services, etc. Hoy en da podemos encontrar muchas webs orientadas a la comunidad o la generacin de contenido por parte de los usuarios, como por ejemplo: Technorati, Odeo, Basecamp, del.icio.us, digg, etc. Muchas de stas aplicaciones web estn siendo desarrolladas bajo Ruby on Rails, surgen varias interrogantes como el por qu no eligen otra plataforma?, es Ruby on Rails mejor que otras plataformas?, es slo una moda?. Estas preguntas merecen respuestas concretas, expliquemos en qu consiste esto.

Qu es Ruby?
Ruby es un lenguaje de scripts, multiplataforma, netamente orientado a objetos es software libre, fue creado por Yukihiro Matsumoto conocido como Matz. La primera versin fue liberada en 1995, hereda varias caracatersticas de lenguajes como: Perl, Smalltalk, Eiffel, Ada y Lisp. Como lo indica su propio autor, es un lenguaje aparentemente sencillo pero internamente complejo.

Esto quiere decir que mientras ms nos abstraemos en el paradigma orientado a objetos notaremos realmente la complejidad del lenguaje (al menos fue mi caso, ya que vengo de lenguajes estructurados y orientados a eventos); lo considero un lenguaje muy intuitivo casi a un nivel de lenguaje humano. Ruby fue diseado para un desarrollo rpido y sencillo. Cada da este lenguaje va ganando ms adeptos, tanto as que la empresa Sun Mirosystems, est apoyando un proyecto llamado Jruby que es un interprete de Ruby escrito 100% en Java. Entre las carectersticas del lenguaje se encuentran:

Posibilidad de hacer llamadas directamente al sistema operativo. Muy potente para el manejo de cadenas y expresiones regulares. No se necesita declarar las variables. La sintaxis es simple y consistente. Gestin de memoria automtica. Todo es un objeto. Mtodos Singleton. un largo.

Muy bien, hasta aqu creo que tenemos una visin bsica de lo que es Ruby.

Qu es Rails?
Rails es un framework para el desarrollo de aplicaciones web, software libre por naturaleza, est basado en el patrn de diseo Modelo Vista Controlador (MVC). Fue creado por David Heinemeier Hansson, empleado de la empresa 37signals. Fue liberado por primera vez al pblico en julio del 2004, y lo implemento en una aplicacin orientada a la administracin de proyectos llamada Basecamp. Actualmente se uniron ms personas al desarrollo de Rails podemos visualizar aqu a los integrantes. Rails est basado en estos principios de desarrollo:

Dont Repeat Yourself Convention Over Configuration

Primer principio: La primera regla que a mi buen entender significa No lo vuelvas a repetir, es una de las cosas ms novedosas que he podido encontrar en este framework. Imaginate tener un formulario, y llamarlo las veces que quieras y desde donde quieras, simplemente con una lnea cdigo. Tener una tabla en tu base de datos, y manipular a los registros como un objeto y a sus campos como un atributo, sin necesidad de declarar nada, son slo algunas aplicaciones de este principio de desarrollo. El segundo principio:

Nos dice Convencin antes que Configuracin, muy bien con esto el framework nos dice: oye he notado que tu siempre usas sto de sta forma, o veo que siempre tienes que configurar esto de aqu, porque no hacemos una cosa, yo te doy todo esto configurado, si tu respetas sta configuracin te ahorras tiempo, y sino quieres hacerlo, no hay problema no me molesto, para muestra un botn:
class Auto < ActiveRecord::Base end

Qu hago con eso? la verdad no deberamos hacer nada pero ya hicimos mucho, con esa declaracin de una clase, lo que hemos logrado es mapear a una tabla en nuestra base de datos. Por qu en plural? Dicho de otra manera Rails buscar una tabla llamada autos, en nuestra base de datos, esto es as porque Rails cree conveniente que debe llamarse as (principio de pluralizacin). Aunque este comportamiento se puede desactivar de una manera muy sencilla, Y si no la encuentra?, pues nos dar un error. Y qu ocurre si la tabla con la que quiero trabajar no tiene ese nombre exacto, no hay problema, con una lnea ms sers complacido:
class Auto < ActiveRecord::Base set_table_name 'carros' end

Con esto el framework comprender que en vez de usar autos, debera usar carros as de sencillo. Muy bien hasta aqu tenemos una muy pequea nocin de lo que es Ruby y Rails, ahora veamos lo necesario para tenerlo instalado en nuestra mquina.

Instalando Ruby
Versin FreeBSD: Actualizando los ports portsnap fetch portsnap update Instalando Ruby cd /usr/ports/lang/ruby18 make install clean Versin Linux: Descargamos el fuente ./configure make make install Para usuarios de Debian o Ubuntu:

sudo apt-get install ruby irb rdoc Versin Windows Descargar Siguiente, Siguiente, Aceptar, No, deseo registrarme luego. Muy bien hasta aqu ya tenemos instalado Ruby.

Instalando Rails
Si disponemos de conexin a internet el trabajo se resumen en: gem install rails include-dependencies. Para una instalacin manual debemos descargarnos cada uno de los mdulos: Los archivos deberan ser descargados en un slo directorio y los comandos ejecutados en ese directorio.

gem install rake-0.7.1.gem gem install activesupport-1.3.1 gem install activerecord-1.14.4.gem gem install actionpack-1.12.5.gem gem install actionmailer-1.2.5.gem gem install actionwebservice-1.1.6.gem gem install rails-1.1.6.gem

Muy bien hasta aqu ya debemos tener instalado Ruby y Rails satisfactoriamente, ahora creemos nuestra primera aplicacin:

Creamos un directorio de trabajo y nos ubicamos dentro de el en la consola. Rails ejemplo: Automaticamente se generar el esqueleto de nuestra aplicacin. Muy bien ahora entramos en el directorio que se genero y ejecutamos el servidor web que viene con Ruby (Webrick): ruby script/server Y veremos una pantalla de bienvenida a nuestra aplicacin: Ahora vamos a realizar la prueba de fuego un Mundo Hola!, para esto realiza lo siguiente:

Creamos un controlador ruby script/generate controller test, ahora se habrn creado varios archivos entre ellos edita directorio_trabajo/ejemplo/app/controllers/test_controller.rb: Vamos agregarle un mtodo:
class TestController < ActionController::Base def index end end

Ahora crearemos la vista para esta accin que acabamos de crear, en directorio_trabajo/ejemplo/app/views/test crea un archivo llamado index.rhtml y dentro de el colocas el texto Mundo Hola desde RoR!, lo grabas y colocas lo siguiente en tu navegador: http://localhost:3000/test/

Supongamos que el controlador "test" es el controlador principal de tu aplicacin, y naturalmente no sera lo ideal que los usuarios ingresen a tu pgina a travs de "tudominio.com/test", deberan ingresar simplemente escribiendo "tudominio.com", bien para lograr esto editemos directorio_trabajo/ejemplo/config/routes.rb: descomentamos la lnea # map.connect , :controller => "welcome" quedara as:
map.connect '', :controller => "test":

Y como nos indican unas lneas arriba, debemos borrar el archivo directorio_trabajo/ejemplo/public/index.html, y ahora si se podra acceder a travs de http://localhost:3000/. Bueno espero que esta pequea introduccin haya sido suficiente para motivar a los lectores a investigar ms sobre est interesante plataforma de desarrollo web. Quiero tambin aprovechar la oportunidad para invitar a todos los amigos que de alguna manera estamos ligados con la tecnologa, a generar contenido en nuestro idioma, ya que considero que es una gran barrera para el aprendizaje de muchos, creo que la tecnologa no tiene sentido sino esta al alcanze de todos.

Aqu les dejo una pequea bibliografa: Libros-Ingls


Programming Ruby Agile Web Development with Rails?Second Edition Rails Recipes

Libros-Espaol

Traduccin de Programming Ruby

Foros-Ingls

Ruby-Forum Ruby on Rails Forum TextDrive Community Forum/RubyOnRails Nabble Ruby on Rails

Foros-Espaol

Ruby On Rails Foros del Web Ruby Forum Espaol

Pginas Web y Blogs


Argentina On Rails in web we trust Mi viaje en tren Comunidad Hispana de usuarios de Ruby SobreRailes Sofa Naranja

Ruby on Rails Vs PHP


Saltar a Comentarios Hoy en el trabajo me plantee un comparacin Ruby on Rails Vs PHP. Buscando por internet, llegu a una conclusin, no podemos comparar un lenguaje de programacin con un framework y un lenguaje de programacin. La propia naturaleza de PHP como un lenguaje extremadamente liberal, no lo ata con ninguna tecnologa extra. Sin embargo, la mejora del modelo de OOP en PHP5 trajo aparejado un nmero importante de Frameworks (Cake, PRADO, Symfony, etc.) que se van agregando al lote del Zend Framework. Por eso, las comparaciones seran PHP On Zend Framework vs. Ruby On Rails o PHP on Cake vs. Ruby On Rails, por ejemplo. Andi Gutmans, tampoco considera que se pueda hacer la comparacin, pero dice algo interesante al respecto Sentimos que PHP con Zend Framework es superior a RoR, y mientras otras personas lo vean de otra forma en cuanto a sus funcionalidades, definitivamente significa

que Ruby estuvo siendo mejor publicitado. El diseo ingenioso del sitio de RoR y el marketing viral usado por 37signals le dio a RoR un mejor boca a boca que a PHP. Afortunadamente, esto ayuda a elevar la imagen de Zend y a incitar aun ms el uso de su Framework.

También podría gustarte