Los lenguajes de desarrollo web del futuro: Ruby On Rails (I) - Nobbot

Los lenguajes de desarrollo web del futuro: Ruby On Rails (I)

Logo de Ruby On RailsA partir de este artículo en AnexoM vamos a hablar de uno de los aspectos técnicos más desconocidos para el gran público pero a la vez más fascinante, los lenguajes de programación web. Quien más o quien menos ha oído hablar del HTML (que ya va por su quinta versión), el lenguaje en el que está escrita cualquier página web, pero nombres y siglas como PHP, jQuery, ASP, JSP, etc, de seguro que sonarán a chino en los oídos de aquellos que no estén familiarizados con el mundo de la programación web.

Es por eso que queríamos dar a conocer algunos de los lenguajes de programación web que más están dando que hablar o darán que hablar en un futuro muy cercano. Creo que es justo empezar por Ruby On Rails un lenguaje (bueno, en realidad no lo es) que se podría poner a la cabeza de los lenguajes de programación que más adeptos han conseguido en sus relativamente pocos años de vida.

Ruby On Rails, como he mencionado, en realidad no es un lenguaje de programación sino la unión de un lenguaje de programación (Ruby) y un framework (Rails), es decir, un conjunto de herramientas que establecen una especie de mecanismo virtual que mueve toda la aplicación web programada. Usando un símil sencillo se puede decir que Rails es una red de carreteras, con autopistas, carreteras secundarias, etc, y Ruby es el mapa de una ruta a través de dicha red de carreteras.

La base de Ruby On Rails la establece el paradigma MVC (Modelo Vista Controlador), veamos en qué consiste básicamente. Evidentemente son tres los elementos de este paradigma. Primero tenemos el modelo que viene a ser una base de datos en la que están almacenados todos los datos a manejar. Por ejemplo, si estamos hablando de una tienda online, el modelo sería el conjunto de datos que se almacenan sobre los artículos que se venden, los clientes y los pedidos. El modelo está ahí quieto para que pueda ser consultado o modificado por parte de quien sea necesario. Estas acciones se hacen partiendo de la vista.

MVC

La vista es simplemente lo que se ve al entrar en una web programada usando Ruby On Rails, o sea, el conjunto de páginas dentro de un mismo sitio web. Usando el ejemplo de la tienda online, una parte de la vista sería la página que muestra las características de un artículo a la venta, otra sería la página con el formulario con los datos del pedido que estamos realizando y así hasta completar todas las posibilidades de la web.

El elemento que comunica la vista con el modelo es el controlador, y es la pieza clave del funcionamiento de Rails. Volviendo al ejemplo de la red de carreteras se podría decir que el controlador son los carteles indicadores que nos dicen que dirección tomar en nuestro viaje. El controlador no es visible a simple vista por un usuario que navega por la página web, es tarea del programador modelar el controlador en sintonía con sus necesidades y también de manera acorde al modelo.

Pongamos un ejemplo completo del funcionamiento de Ruby on Rails. Nosotros entramos en la tienda online del ejemplo, aquí se nos está mostrando parte de la vista en forma de página de bienvenida. Hay que decir que la vista no está programada en HTML, pero Rails se encarga de transformar su lenguaje propio en HTML para que cualquier navegador lo pueda interpretar sin problemas. Una vez encontremos el artículo que deseamos comprar, pulsaremos en el botón indicado para ello, en ese momento el controlador está recibiendo la petición “comprar” (o como la haya llamado el programador) y acudirá al modelo para actualizar el stock del artículo. Una vez hecho esto el controlador puede redirigir al usuario a otra página distinta en la que se le de las gracias por la compra, o a cualquier otra.

Ruby On Rails

Esta es, a grandes rasgos, una explicación del funcionamiento de Ruby On Rails de puertas hacia dentro. En el próximo artículo hablaré un poco de la historia tanto de Ruby como de Rails, así como de la situación actual de esta gran combinación de lenguaje de programación web más framework y algunas direcciones útiles para todo aquel que desee iniciarse dentro del mundo de la programación bajo Ruby On Rails.

Más info | Web oficial
En AnexoM | Los lenguajes de desarrollo web del futuro: Ruby On Rails (II)