Rails es un framework grande, complejo, completo y muy popular, pero no deja de ser eso, solo una herramienta más para el lenguaje de programación Ruby, lenguaje que es muy popular debido a lo eficiente que es, aparte de su elegante sintaxis que nos permite aprenderlo de forma más sencilla.
Existe el concepto del micro-framework, que a diferencia de un framework normal, nos ofrece solo lo básico, como por ejemplo interfaces para HTTP, interfaces de conexión para Base de Datos, pero nos deja el camino libre para decidir cómo utilizar sus diferentes componentes, a diferencia de la mayoría de los frameworks que nos dan un camino muy marcado de desarrollo, en muchos casos dándonos hasta la estructura de carpetas que debemos utilizar.
Ruby, más allá de Rails
Ruby es un lenguaje muy maduro que está en el mercado desde el año 1995, a pesar de tener 20 años de haber sido lanzado por primera vez, es en la actualidad uno de los favoritos de los desarrolladores por varias causas, es orientado a objetos y es reflexivo, es decir, podemos hacer mucho con poco, y el nivel de reutilización de código que podemos lograr es fantástico.
Es perteneciente a la familia del software libre gratuito, entonces no tenemos que pagar licencias por su utilización lo que baja los costes de desarrollo en gran medida, y por ultimo su sintaxis es muy sencilla, carece de terminaciones en punto y coma, por lo que hace muy limpio en su código.
Al inicio comentábamos que hablar de Ruby era hablar de Rails, sin embargo Rails apenas aparece en el mercado a finales de 2005 donde su verdadera popularización vino después del año 2006, por lo que vemos que Ruby ya tenía una década en el mercado posicionándose como un lenguaje interpretado de uso general. Muchos programadores nuevos y novatos confunden el concepto de Rails y de Ruby hablando de forma indiferente de ambos términos, pero no debemos seguir esta tendencia, Ruby por si solo es algo, y muy importante.
Instalando Ruby
La instalación de Ruby debe ser una de las más sencillas que existen en el mundo de los lenguajes de programación, sobretodo en sistemas Windows que es lo que utilizaremos a lo largo de este tutorial, lo primero que debemos hacer es visitar la página web del proyecto RubyInstaller, aquí encontraremos los descargables de las últimas versiones del lenguaje de programación, en un paquete con su instalador de paquetes llamado RubyGem, que nos permite acceder a un repositorio de complementos extenso. Veamos como luce en la actualidad la sección de descargas de esta web:
Aquí procederemos simplemente a descargar la última versión estable, aunque hay que denotar que la versión 64 bits a pesar de ser funcional nos puede requerir tener que compilar algunos paquetes de forma manual, por lo que solo es recomendada para los usuarios más avanzados.
En este caso hemos elegido la versión 2.2.1 y procedemos a ejecutar el archivo obtenido de la web. Simplemente seguimos los pasos como cualquier instalación de Windows, solo debemos elegir que se añadan los ejecutables de Ruby al Path para poder utilizarlo en la consola. Al finalizar todo buscaremos nuestra consola de comandos y colocaremos el comando:
ruby -vSi nos aparece un mensaje similar al siguiente es que hemos hecho una instalación exitosa:
Como vimos la instalación de Ruby fue muy sencilla, existen otros métodos como compilar binarios, pero esto es un material que va más allá de lo que queremos hacer en este tutorial.
Esto quiere decir que solo se enfoca en darnos una serie de programas escritos en Ruby con los cuales podemos manipular el aspecto web a través del protocolo HTTP. Al no considerarse un framework, este no nos exige una estructura de carpetas o directorios para que nuestra aplicación empiece a funcionar.
Instalar Sinatra
Este es el segundo paso más importante de nuestro tutorial, una vez que tenemos Ruby y RubyGems, para instalar Sinatra en nuestro sistema desde nuestra consola de comandos simplemente debemos utilizar la siguiente instrucción:
gem install sinatraEsto hará que nuestro sistema descargue todas las dependencias como Rack y otras utilidades, aparte de la documentación oficial para varios de estos componentes, de forma que tengamos ayuda cuando queramos ejecutar algún comando en particular.
Nuestro primer programa
Ya una vez que tenemos instalado Sinatra y sus dependencias, empezar a utilizarlo es muy sencillo, simplemente debemos crear un nuevo proyecto, es decir, una carpeta donde almacenar nuestros archivos y crear un archivo que llamaremos como más nos guste, y dentro colocaremos el siguiente código:
require 'sinatra'get '/bienvenido' do "Bienvenido a Sinatra!"endUna vez que tengamos nuestro archivo con ese código, lo salvamos y luego desde la consola de comandos en el directorio donde lo guardamos ejecutamos el siguiente comando:
ruby nombredenuestroprograma.rbLo que nos dará como respuesta algo muy similar a lo siguiente en nuestra consola de comandos:
Esto significa que hemos levantado un servidor web de desarrollo donde podemos ver el resultado de nuestros programas, para ver lo que hace nuestro pequeño programa basta con visitar la ruta localhost:4267 en nuestro navegador y añadirle /bienvenido, como podemos ver en la siguiente imagen:
Con eso hemos iniciado efectivamente nuestro entorno con Sinatra, Ruby y RubyGems exitosamente.
Un poco más de Sinatra
Ya que hemos hecho nuestra primera aplicación es justo saber algunos detalles que harán nuestra vida mejor y más fácil. Cada vez que ocurre un cambio en nuestro código debemos reiniciar el servidor, es por ello que debemos presionar las teclas CRTL + C en la consola donde iniciamos nuestro programa para detener el servidor e iniciarlo de nuevo.
Como este paso es muy repetitivo, podemos utilizar una herramienta llamada Sinatra Reloader, que simplemente detecta los cambios en nuestro programa y reinicia de forma automática nuestro servidor. Para instalar este componente basta con escribir lo siguiente en la consola de comandos:
gem install sinatra-contribEsto nos dará una gran cantidad de herramientas entre las cuales tenemos la que hemos descrito, veamos la respuesta de la consola tras su instalación:
Ahora vamos a modificar nuestro programa y vamos a incluir al inicio el requerimiento necesario:
require 'sinatra'require 'sinatra/reloader' if development?get '/bienvenido' do "Bienvenido a Sinatra!"endComo vemos añadimos una línea nueva que indica a Sinatra que debe cargar el reloader si estamos en entorno de desarrollo, iniciamos nuevamente nuestra aplicación:
ruby hola.rbAhora cada vez que hagamos un cambio sobre el archivo, inmediatamente el servidor se reiniciará y podremos confirmar nuestros cambios sin tener que hacer todo el proceso de nuevo de forma manual.
Con esto hemos finalizado nuestro tutorial, como vemos existen más opciones de trabajo con Ruby que no sea utilizar Rails, Sinatra es una gran herramienta que nos permite llegar a desarrollar grandes aplicaciones sin necesidad de adaptarnos a otras metodologías de trabajo que no sean las nuestras.
Genial comienzo de batalla con Sinatra usando este Tutorial.