Cargando



Primeros pasos con Sinatra

En este tutorial daremos nuestros primeros pasos con Sinatra, un framework de tamaño reducido, pero muy poderoso que nos ayuda a crear aplicaciones web y servicios en Ruby de forma sencilla al proveernos de librerías y herramientas, sin entrometerse en nuestra forma de trabajo.


abr 01 2015 22:59
Profesional
abr 01 2015 23:22
Hablar del lenguaje de programación Ruby, es casi hablar también del framework de desarrollo Rails, y aunque estos dos elementos hacen una simbiosis casi perfecta para su target que es el desarrollo de aplicaciones para entornos web, en la práctica no es la única alternativa que tenemos para llevar a cabo este tipo de tareas.

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 -v
Si nos aparece un mensaje similar al siguiente es que hemos hecho una instalación exitosa:


primeros-pasos-sinatra-2.jpg



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.

¿Qué es Sinatra?
Ya que hemos cumplido el primer requisito que es obtener Ruby y RubyGems en nuestro sistema, es hora de pasar al verdadero objetivo de nuestro tutorial y es empezar a trabajar con Sinatra, para ello vamos a ver que es este componente del que estamos hablando. A pesar que lo hemos definido como un micro-framework, Sinatra se define a sí mismo como un lenguaje de dominio especifico, es decir, que trabaja con una implementación bajo un dominio en particular.

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.

Historia
Surgió por primera vez en el mercado en el año 2007 y desde el año 2010 ha ganado más popularidad al estar disponible en RubyGems, debido a su simpleza y su bajo peso ha sido utilizado por grandes compañías como GitHub, Apple o Linkedin, para servicios particulares y funcionalidades claves de sus entornos. Está construido sobre Rack que es una serie de librerías e interfaces para la comunicación con el protocolo HTTP, y su nombre es un homenaje a Frank Sinatra el gran cantante norteamericano fallecido en 1998.


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 sinatra
Esto 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.


primeros-pasos-sinatra-3.jpg



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!"end
Una 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.rb
Lo que nos dará como respuesta algo muy similar a lo siguiente en nuestra consola de comandos:


primeros-pasos-sinatra-4.jpg



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:


primeros-pasos-sinatra-5.jpg



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-contrib
Esto 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:


primeros-pasos-sinatra-6.jpg



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!"end
Como 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.rb
Ahora 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.

¿Te ayudó este Tutorial?


1 Comentarios


Alex Pereiro
abr 15 2015 16:20

Genial comienzo de batalla con Sinatra usando este Tutorial.

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X