Ruby on Rails - Introducción
¿Qué es Ruby?
Antes de montar en Rails, recapitulemos algunos puntos de Ruby, que es la base de Rails.
Ruby es la combinación exitosa de:
- La elegancia conceptual de Smalltalk,
- La facilidad de uso y aprendizaje de Python, y
- El pragmatismo de Perl.
Ruby es ...
- Un lenguaje de programación de alto nivel.
- Interpretado como Perl, Python, Tcl / TK.
- Orientado a objetos como Smalltalk, Eiffel, Ada, Java.
¿Por qué Ruby?
Ruby se originó en Japón y ahora está ganando popularidad también en Estados Unidos y Europa. Los siguientes factores contribuyen a su popularidad:
- Fácil de aprender
- Código abierto (licencia muy liberal)
- Bibliotecas ricas
- Muy fácil de extender
- Verdaderamente orientado a objetos
- Menos codificación con menos errores
- Comunidad útil
Aunque tenemos muchas razones para usar Ruby, también existen algunos inconvenientes que quizás deba considerar antes de implementar Ruby:
Performance Issues - Aunque compite con Perl y Python, sigue siendo un lenguaje interpretado y no podemos compararlo con lenguajes de programación de alto nivel como C o C ++.
Threading model- Ruby no usa hilos nativos. Los subprocesos de Ruby se simulan en la máquina virtual en lugar de ejecutarse como subprocesos del sistema operativo nativo.
Ejemplo de código Ruby
Aquí hay un código Ruby de muestra para imprimir "Hello Ruby"
# The Hello Class
class Hello
def initialize( name )
@name = name.capitalize
end
def salute
puts "Hello #{@name}!"
end
end
# Create a new object
h = Hello.new("Ruby")
# Output "Hello Ruby!"
h.salute
Output - Esto producirá el siguiente resultado -
Hello Ruby!
Ruby incrustado
Ruby proporciona un programa llamado ERB (Embedded Ruby), escrito por Seki Masatoshi . ERB le permite poner códigos Ruby dentro de un archivo HTML. ERB lee, palabra por palabra, y luego, en cierto punto, cuando encuentra un código Ruby incrustado en el documento, comienza a ejecutar el código Ruby.
Solo necesita saber dos cosas para preparar un documento ERB:
Si desea que se ejecute algún código Ruby, enciérrelo entre <% y %>.
Si desea que se imprima el resultado de la ejecución del código, como parte de la salida, incluya el código entre <%= y %>.
He aquí un ejemplo. Guarde el código en el archivo erbdemo.rb. Tenga en cuenta que un archivo Ruby tendrá una extensión.rb -
<% page_title = "Demonstration of ERB" %>
<% salutation = "Dear programmer," %>
<html>
<head>
<title><%= page_title %></title>
</head>
<body>
<p><%= salutation %></p>
<p>This is an example of how ERB fills out a template.</p>
</body>
</html>
Ahora, ejecute el programa usando la utilidad de línea de comandos erb.
tp> erb erbdemo.rb
Esto producirá el siguiente resultado:
<html>
<head>
<title>Demonstration of ERb</title>
</head>
<body>
<p>Dear programmer,</p>
<p>This is an example of how ERb fills out a template.</p>
</body>
</html>
¿Qué es Rails?
Un marco de aplicación web extremadamente productivo.
Escrito en Ruby por David Heinemeier Hansson.
Podría desarrollar una aplicación web al menos diez veces más rápido con Rails de lo que podría con un marco típico de Java.
Un marco Ruby de código abierto para desarrollar aplicaciones web respaldadas por bases de datos.
Configure su código con el esquema de la base de datos.
No se requiere fase de compilación.
Marco de pila completa
Incluye todo lo necesario para crear una aplicación web basada en bases de datos, utilizando el patrón Modelo-Vista-Controlador.
Ser un marco de pila completa significa que todas las capas están creadas para funcionar a la perfección con menos código.
Requiere menos líneas de código que otros marcos.
Convención sobre configuración
Rails evita los archivos de configuración en favor de las convenciones, la reflexión y las extensiones dinámicas de tiempo de ejecución.
¡Su código de aplicación y su base de datos en ejecución ya contienen todo lo que Rails necesita saber!
Fortalezas de los rieles
Rails está repleto de características que lo hacen más productivo, y muchas de las siguientes características se complementan entre sí.
Metaprogramación
Donde otros frameworks utilizan una amplia generación de código desde cero, Rail framework utiliza técnicas de metaprogramación para escribir programas. Ruby es uno de los mejores lenguajes para metaprogramación, y Rails usa bien esta capacidad. Rails también utiliza la generación de código, pero depende mucho más de la metaprogramación para el trabajo pesado.
Registro activo
Rails presenta el marco Active Record, que guarda objetos en la base de datos. La versión Rails del Active Record descubre las columnas en un esquema de base de datos y las adjunta automáticamente a los objetos de su dominio mediante la metaprogramación.
Convención sobre configuración
La mayoría de los marcos de desarrollo web para .NET o Java le obligan a escribir páginas de código de configuración. Si sigue las convenciones de nomenclatura sugeridas, Rails no necesita mucha configuración.
Andamio
A menudo, crea código temporal en las primeras etapas de desarrollo para ayudar a que una aplicación se ejecute rápidamente y ver cómo los componentes principales funcionan juntos. Rails crea automáticamente gran parte del andamio que necesitará.
Pruebas integradas
Rails crea pruebas automatizadas simples que luego puede ampliar. Rails también proporciona código de soporte llamado arneses y accesorios que facilitan la escritura y ejecución de casos de prueba. Ruby puede ejecutar todas sus pruebas automatizadas con la utilidad rake.
Tres ambientes
Rails le ofrece tres entornos predeterminados: desarrollo, pruebas y producción. Cada uno se comporta de manera ligeramente diferente, lo que facilita todo el ciclo de desarrollo de software. Por ejemplo, Rails crea una copia nueva de la base de datos de prueba para cada ejecución de prueba.