Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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
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:
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.
Programming Ruby Agile Web Development with Rails?Second Edition Rails Recipes
Libros-Espaol
Foros-Ingls
Ruby-Forum Ruby on Rails Forum TextDrive Community Forum/RubyOnRails Nabble Ruby on Rails
Foros-Espaol
Argentina On Rails in web we trust Mi viaje en tren Comunidad Hispana de usuarios de Ruby SobreRailes Sofa Naranja
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.