Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Como Programar para Nuevos Programadores
Como Programar para Nuevos Programadores
INTRODUCCIN ................................................................................................................................... 3
1.
QU ES RAIL? ............................................................................................................................. 4
1.1.
1.1.1.
Modelos....................................................................................................................... 4
1.1.2.
Vistas ........................................................................................................................... 5
1.1.3.
Controladores .............................................................................................................. 5
1.2.
2.
4.
1.2.1.
1.2.2.
1.2.3.
1.2.4.
1.2.5.
1.2.6.
1.2.7.
1.2.8.
1.2.9.
1.2.10.
Railties ......................................................................................................................... 7
ORIGENES .................................................................................................................................... 7
2.1.
3.
Historia ................................................................................................................................ 7
Interaccin........................................................................................................................... 8
3.2.
Sintaxis ................................................................................................................................ 8
4.1.1.
4.2.
4.2.1.
5.
CONCLUSIN ..................................................................................................................................... 13
REFERENCIAS ..................................................................................................................................... 14
INTRODUCCIN
A menudo la gente, especialmente para los ingenieros en computacin, todo se centra o est
relacionado con las mquinas. Se piensa: "Haciendo esto, la mquina funcionar ms rpido.
Haciendo esto, la mquina funcionar de manera ms eficiente. Haciendo esto..." Estn centrados
en las mquinas, pero en realidad necesitamos centrarnos en las personas, en cmo hacen
programas o cmo manejan las aplicaciones en los ordenadores.
Nosotros somos los jefes. Ellos son los esclavos.
Ruby sigue el "principio de la menor sorpresa", lo que significa que el lenguaje debe comportarse
de tal manera que minimice la confusin de los usuarios experimentados. Matz (creador de Ruby)
ha dicho que su principal objetivo era hacer un lenguaje que le divirtiera l mismo, minimizando el
trabajo de programacin y la posible confusin.
1. QU ES RAIL?
SECO. "No Repeat Yourself" sugiere que escribir el mismo cdigo una y otra vez
es algo malo.
Convencin sobre la configuracin. Significa que Rails hace suposiciones
sobre lo que quiere hacer y cmo vas a hacerlo, en lugar de exigir que se
especifique cada pequea cosa a travs de los archivos de configuracin sin fin.
El descanso es el mejor patrn para las aplicaciones web. La organizacin
de su aplicacin alrededor de los recursos y el nivel verbos HTTP es el mejor
camino a seguir.
1.1. La arquitectura MVC
Pgina 4
Action Pack
Action Controller
Action Dispatch
Action View
Action Mailer
Active Model
Active Record
Active Resource
Active Support
Railties
1.2.1. Action Pack
Paquete de Accin es una joya nica que contiene Action Controller, Vista Accin y
Despacho de accin. El "VC" parte de "MVC".
1.2.2. Action Controller
Accin del controlador es el componente que administra los controladores en una
aplicacin Rails. El marco de accin del controlador procesa las solicitudes entrantes a
una aplicacin Rails, extractos de los parmetros, y las enva a la accin prevista.
ISW1 Hctor A. Alvarenga UFG.
Pgina 5
Pgina 6
1.2.10. Railties
Railties es el cdigo del ncleo Rails que construye aplicaciones Rails nuevas colas y
los distintos marcos y complementos juntos en cualquier aplicacin Rails.
2. ORIGENES
2.1. Historia
En el crculo de amigos de Matsumoto se le puso el nombre de "Ruby" (en espaol rub) como
broma aludiendo al lenguaje de programacin "Perl" (perla). La ltima versin estable de la rama
1.8 es la 1.8.7_p248, de la rama 1.9 es la 1.9.1_p378.
La versin en 1.9 que incorpora mejoras sustanciales en el rendimiento del lenguaje, que se espera
queden reflejadas en la prxima versin estable de produccin del lenguaje, Ruby 1.9.0.1
Diferencias en rendimiento entre la actual implementacin de Ruby (1.8.6) y otros lenguajes de
programacin ms arraigados han llevado al desarrollo de varias mquinas virtuales para Ruby.
Entre sas se encuentra JRuby, un intento de llevar Ruby a la plataforma Java, y Rubinius, un
intrprete modelado basado en las mquinas virtuales de Smalltalk.
Los principales desarrolladores han apoyado la mquina virtual proporcionada por el proyecto
YARV, que se fusion en el rbol de cdigo fuente de Ruby el 31 de diciembre de 2006, y se di a
conocer como Ruby 1.9.
Pgina 7
3.1. Interaccin
La distribucin oficial de Ruby incluye "irb"(Interactive Ruby Shell), un intrprete interactivo de
lnea de comandos que puede ser usado para probar cdigo de manera rpida. El siguiente
fragmento de cdigo representa una muestra de una sesin usando irb:
3.2. Sintaxis
La sintaxis de Ruby es similar a la de Perl o Python. La definicin de clases y mtodos est definida
por palabras clave. Sin embargo, en Perl, las variables no llevan prefijos. Cuando se usa, un prefijo
indica el mbito de las variables. La mayor diferencia con C y Perl es que las palabras clave son
usadas para definir bloques de cdigo sin llaves. Los saltos de lnea son significativos y son
interpretados como el final de una sentencia, el punto y coma tiene el mismo uso. De forma
diferente que Python, la indentacin no es significativa.
Una de las diferencias entre Ruby y Python y Perl es que Ruby mantiene todas sus variables de
instancia privadas dentro de las clases y solo la expone a travs de mtodos de acceso
(attr_writer, attr_reader, etc). A diferencia de los mtodos "getter" y "setter" de otros lenguajes
como C++ o Java, los mtodos de acceso en Ruby pueden ser escritos con una sola lnea de cdigo.
Como la invocacin de estos mtodos no requiere el uso de parntesis, es trivial cambiar una
variable de instancia en una funcin sin tocar una sola lnea de cdigo o refactorizar dicho cdigo.
Los descriptores de propiedades de Python son similares pero tienen una desventaja en el proceso
de desarrollo.
Si uno comienza en Python usando una instancia de variable expuesta pblicamente y despus
cambia la implementacin para usar una instancia de variable privada expuesta a travs de un
descriptor de propiedades, el cdigo interno de la clase necesitar ser ajustado para usar la
variable privada en vez de la propiedad pblica.
ISW1 Hctor A. Alvarenga UFG.
Pgina 8
Ruby elimina est decisin de diseo obligando a todas las variables de instancia a ser privadas,
pero tambin proporciona una manera sencilla de declarar mtodos set y get. Esto mantiene el
principio de que en Ruby no se puede acceder a los miembros internos de una clase desde fuera
de esta, en lugar de esto se pasa un mensaje (se invoca un mtodo) a la clase y recibe una
respuesta.
En cualquier caso, Rails crear una carpeta en su directorio de trabajo llamado blog. Abre la
carpeta y puede explorar su contenido.
Pgina 9
Pgina 10
Si la instalacin de su equipo de desarrollo de MySQL incluye un usuario root con una contrasea
vaca, esta configuracin debe funcionar para usted. De lo contrario, cambiar el nombre de usuario
y contrasea en la seccin de desarrollo, segn convenga.
Pgina 11
Pgina 12
CONCLUSIN
Pgina 13
REFERENCIAS
Getting
Ruby
on Rails Tutorial.
Ruby
on Rails guides.
API
documentation.
Pgina 14