Introducción Ruby on Rails
Desde un tiempo a esta parte, varios lenguajes de programación han tomado la iniciativa y se está aupando a las posiciones más altas de los lenguajes más demandados en la comunidad. El caso de hoy es uno de ellos, y no es otro que Ruby on Rails. Creado en 2003 por David Heinemeier Hansson , no tuvo excesiva repercusión en sus inicios. Sin embargo, a día de hoy son muchos los que demandan desarrolladores con conocimientos en Ruby on Rails.
En la propia web del lenguaje definen a Rails como “un entorno de desarrollo web de código abierto que está optimizado para la satisfacción de los programadores y para la productividad sostenible” . Esta productividad se consigue a través de “librerías, automatismos y convenciones destinados a resolver los problemas más comunes a la hora de desarrollar una aplicación web, para que el programador pueda concentrarse en los aspectos únicos y diferenciales de su proyecto en lugar de los problemas recurrentes”.
Se trata de un lenguaje de programación que sigue el paradigma MVC (Modelo Vista Controlador) y que está escrito en Ruby . Los que trabajan con Rails destacan la simplicidad, al necesitar escribir menos código que con otros frameworks, y con un mínimo de configuración. En este sentido, podemos destacar sus dos principales tesis: Don’t Repeat Yorurself (DRY), No te repitas en inglés, y la Convención sobre Configuración . La primera de ellas defiende que las definiciones se realicen una sola vez. Así se evita el llamado código espagueti que provoca errores en las aplicaciones. La Convención sobre Configuración es un paradigma de programación que busca las decisiones que debe tomar el desarrollador.
[BANNER_SUSCRIPCION]
Gemas de Ruby on Rails
Ruby on Rails cuenta con Gemas, que son plugins o códigos añadidos que traen consigo nuevas funcionalidades como login de usuario o herramientas para el desarrollo como pueden ser Haml y SASS, plantillas basadas en HTML y CSS, respectivamente, muy potentes y sencillas de utilizar. Puedes encontrar el listado de gemas en RubyForge .
Bases de datos en Ruby on Rails
La arquitectura Rails favorece el uso de bases de datos. Aunque por defecto soporta la biblioteca SQLite, se puede trabajar con otras como por ejemplo MySQL, PostgreSQL y Oracle . El acceso que hace Rails a la base de datos es totalmente agnóstico, es decir, el programador no ve nada del proceso entre la vista y la base de datos. Es necesario utilizar un servidor como pueda ser Apache y una base de datos de algún tipo de las que mencionamos anteriormente.
Ruby on Rails 'Hello World'
Para que Ruby nos muestre la pantalla con el famoso Hola Mundo necesitamos como mínimo una vista y un controlador. Para comenzar, debemos ejecutar lo siguiente:
$ rails generate controller welcome index
Una vez hecho esto, generará por nosotros un número de carpetas y archivos que abriremos en nuestro editor de código.
create app/controllers/welcome_controller.rb
route get "welcome/index"
invoke erb
create app/views/welcome
create app/views/welcome/index.html.erb
invoke test_unit
create test/functional/welcome_controller_test.rb
invoke helper
create app/helpers/welcome_helper.rb
invoke test_unit
create test/unit/helpers/welcome_helper_test.rb
invoke assets
invoke coffee
create app/assets/javascripts/welcome.js.coffee
invoke scss
create app/assets/stylesheets/welcome.css.scss
Ahora debemos abrir el archivo app/views/welcome/index.html.erb
en nuestro editor de texto y editarlo para que solo aparezca esto:
<h1>Hello, Rails!</h1>
Ahora debemos enrutar nuestra nueva página a la dirección http://localhost:3000
que crea por defecto. Para ello hay que borrar el archivo index.html
que se aloja dentro de la carpeta public
de la aplicación. Este archivo es el que se muestra por defecto en lugar del que acabamos de crear. A continuación, debemos indicarle a Rails donde está ubicada nuestra página principal. Para ello, abrimos el archivo config/routes
en el editor:
Blog::Application.routes.draw do
get "welcome/index"
root :to => "welcome#index"
El root :to => "welcome#index"
le indica a Rails que debe asociar las peticiones de la raíz de la aplicación a la acción index
del controlador welcome
y get "welcome/index"
le indica a Rails que asocie peticiones de http://localhost:3000/welcome/index
a la acción index
del controlador welcome
. Después de esto, si accedemos a la dirección http://localhost:3000
podremos ver el mensaje que hemos creado.
En la actualidad Ruby on Rails está presente en aplicaciones web como Twitter, Scribd, Hulu, Xing, Soundcloud, Basecamp, o Github entre muchas otras.