Este documento presenta una introducción a Ruby on Rails, incluyendo cómo instalar Ruby y Rails, un ejemplo "hola mundo" en Rails, y las ventajas y desventajas de Ruby como lenguaje de programación. Explica que Ruby on Rails es un framework para desarrollo web basado en el patrón MVC y diseñado para facilitar el desarrollo rápido de aplicaciones.
1. UPNFM PREUFOD – La Esperanza Asignatura: Informática Educativa Catedrático: Erick Sierra Slideshare sobre Ruby OnRails Elaborado por: KionyGrissel Medina Girón Josué Reynaldo Mejía Barahona La Esperanza, Intibucá Agosto 2011
2. Ruby OnRails Introducción al framework de Ruby onRails incluyendo el típico -hola mundo- para dar nuestros primeros pasos.
3. Introducción a Ruby on Rails Introducción al framework de Ruby onRails incluyendo el típico -hola mundo- para dar nuestros primeros pasos. Desde que tuve conocimiento de la revolución del diseño de aplicaciones web, popularmente conocido como Web 2.0, he sido testigo de varias tecnologías que giran alrededor de ésta: Sindicación de contenidos RSS, AJAX, Tags, Web Services, etc.
4. Introducción a Ruby on Rails Hoy en día podemos encontrar muchas webs orientadas a la comunidad o la generación de contenido por parte de los usuarios, como por ejemplo: Technorati, Odeo, Basecamp, del.icio.us, digg, etc. Muchas de éstas aplicaciones web están siendo desarrolladas bajo Ruby onRails, surgen varias interrogantes como el ¿por qué no eligen otra plataforma?, ¿es Ruby onRails mejor que otras plataformas?, ¿es sólo una moda?. Estas preguntas merecen respuestas concretas, expliquemos en qué consiste esto.
5. Quées Ruby? Ruby es un lenguaje de scripts, multiplataforma, netamente orientado a objetos es software libre, fue creado por YukihiroMatsumoto conocido como Matz. La primera versión fue liberada en 1995, hereda varias caracaterísticas 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 más 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.
6. Quées Ruby? Ruby fue diseñado para un desarrollo rápido y sencillo. Cada día este lenguaje va ganando más adeptos, tanto así que la empresa SunMirosystems, está apoyando un proyecto llamado Jruby que es un interprete de Ruby escrito 100% en Java. Entre las carecterísticas 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. Gestión de memoria automática. Todo es un objeto. Métodos Singleton. un largo.
7. Quées Rails? Rails es un framework para el desarrollo de aplicaciones web, software libre por naturaleza, está basado en el patrón de diseño Modelo Vista Controlador (MVC). Fue creado por David HeinemeierHansson, empleado de la empresa 37signals. Fue liberado por primera vez al público en julio del 2004, y lo implemento en una aplicación orientada a la administración de proyectos llamada Basecamp. Actualmente se uniéron más personas al desarrollo de Rails podemos visualizar aquí a los integrantes. Rails está basado en estos principios de desarrollo: Don’tRepeatYourself ConventionOverConfiguration
8. Quées Rails? Primer principio: La primera regla que a mi buen entender significa “No lo vuelvas a repetir”, es una de las cosas más 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 línea código. 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 sólo algunas aplicaciones de este principio de desarrollo.
9. Quées Rails? El segundo principio: Nos dice “Convención antes que Configuración”, 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 configuración te ahorras tiempo, y sino quieres hacerlo, no hay problema no me molesto, para muestra un botón: class Auto < ActiveRecord::Base end
10. Quées Rails? ¿Qué hago con eso? La verdad no deberíamos hacer nada pero ya hicimos mucho, con esa declaración 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 pluralización).
11. Quées Rails? 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 línea más serás complacido: class Auto < ActiveRecord::Base set_table_name 'carros' end Con esto el framework comprenderá que en vez de usar ‘autos’, debería usar ‘carros’ así de sencillo. Muy bien hasta aquí tenemos una muy pequeña noción de lo que es Ruby y Rails, ahora veamos lo necesario para tenerlo instalado en nuestra máquina.
12. Instalando Ruby Versión FreeBSD: Actualizando los portsportsnapfetchportsnapupdateInstalando Rubycd /usr/ports/lang/ruby18makeinstallclean
13. Instalando Ruby Versión Linux: Descargamos el fuente de aca: ftp://ftp.ruby-lang.org/pub/ruby/ruby-1.8.5.tar.gz./configuremakemakeinstall
14. Instalando Ruby Para usuarios de Debian o Ubuntu: sudo apt-getinstallrubyirbrdoc
15. Instalando Ruby Versión Windows Descargar: http://rubyforge.org/frs/download.php/12751/ruby185-21.exeSiguiente, Siguiente, Aceptar, No, deseo registrarme luego.Muy bien hasta aquí ya tenemos instalado Ruby.
16. Instalando Rails Si disponemos de conexión a internet el trabajo se resumen en:geminstallrails –include-dependencies. Para una instalación manual debemos descargarnos cada uno de los módulos: Los archivos deberan ser descargados en un sólo directorio y los comandos ejecutados en ese directorio. geminstallrake-0.7.1.gem geminstallactivesupport-1.3.1 geminstallactiverecord-1.14.4.gem geminstallactionpack-1.12.5.gem geminstallactionmailer-1.2.5.gem geminstallactionwebservice-1.1.6.gem geminstallrails-1.1.6.gem
17. Rails Ejemplo Ahora crearemos la vista para esta acción 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/
18. Rails Ejemplo Supongamos que el controlador "test" es el controlador principal de tu aplicación, y naturalmente no sería lo ideal que los usuarios ingresen a tu página a través de "tudominio.com/test", deberían ingresar simplemente escribiendo "tudominio.com", bien para lograr esto editemos ‘directorio_trabajo/ejemplo/config/routes.rb’:descomentamos la línea# map.connect ”, :controller => "welcome"quedaría así: map.connect '', :controller => "test": Y como nos indican unas líneas arriba, debemos borrar el archivo ‘directorio_trabajo/ejemplo/public/index.html’, y ahora si se podría acceder a través de ‘http://localhost:3000/’.
19. Ventajas de Ruby Simple: fácil de aprender y mantener Poderoso “Languagestaysoutofyourway” Equipado con excelentes librerías Desarrollo rápido Código abierto “Divertido”
20. Desventajas de Ruby Rendimiento comparable a Perl o Python, pero lejos de C o C++ Podemos extender Ruby con estos lenguajes No existen muchas frameworks desarrolladas en Ruby Ruby onRails (http://www.rubyonrails.com/) es la excepcion No existe una framework de GUI multi-plataforma ampliamente aceptada RAA – Ruby Application Archive (http://raa.ruby-lang.org/) No tan grande como CPAN – Comprehensive Perl Active Network (http://www.cpan.org) Peros: Documentación en progreso No es un lenguaje demasiado conocido en países occidentales Más pensado para Linux que Windows No tiene un buen soporte de Unicodetodavía