Revista Informática

Sinatra desde Cero: Instalación y configuración

Publicado el 10 octubre 2013 por Codehero @codeheroblog

En este primer capítulo te enseñaremos el proceso de instalación y explicaremos algunas de las características principales que posee esta herramienta.

Para comprender correctamente todo lo que hablaremos en esta serie, es conveniente tener un conocimiento básico sobre el lenguaje de Ruby. Podrás conseguir toda la información desees aquí


Introducción a Sinatra.

Sinatra es un DSL (Lenguaje específico del dominio) para construir páginas Web, servicios Web o aplicaciones Web en Ruby. Sinatra está basado en el enfoque minimalista de desarrollo, es decir no existe una estructura ni una manera “correcta” de hacer las cosas, solo una “mejor práctica” de como realizarlo, ofreciendo al desarrollado una manera súper esencial para el manejo del protocolo HTTP.

Todo el DSL está escrito en menos de dos mil (2000) lineas de Ruby, es muy expresivo y simple de usar. Sinatra es altamente usado por los desarrolladores de Ruby para implementar un API o servicio Web. Las aplicaciones en Sinatra también pueden ser embebidas dentro de otras aplicaciones Web desarrolladas en Ruby si las mismas son empaquetadas como una gema, tal es el caso de Resque.

¿Por qué no se considera un framework?

Sinatra no es un framework porque no tiene un ORM (Mapeo objeto-relacional), instalas el de tú preferencia. No tiene archivos de configuración predeterminados ni estructura de proyecto, permitiendo libertad a la hora de la toma de decisiones sobre la estructura del proyecto en base a el tamaño y necesidades del mismo.

En el mundo de Python su homólogo es Flask, en Node.js es Express y prácticamente todos los lenguajes que existen tienen su DSL como Sinatra.

Si desean utilizar un framework en Ruby, pueden irse por el mítico Ruby on Rails o con Padrino que lleva el “core” (corazón) de Sinatra a un patrón de arquitectura de software MVC.


Instalación

A la mayoría de los nosotros nos gusta gastar un poco de tiempo en la creación de un espacio de trabajo, para garantizar un desarrollo mas eficiente sin tantas interrupciones, aunque este mismo proceso de creación de un espacio de trabajo puede llevarse muchísimas horas y nunca lo encontraremos perfecto. Siempre habrá algo más que agregar.

Para este curso demostraremos la instalación del habiente de desarrollo para los principales en Sistemas Operativos (Mac OSX, Linux y windows) ya que este proceso es diferente entre cada uno de ellos.

Instalación en Windows

Si eres un usuario Windows la instalación no es tan nativa como para los otros sistemas operativos. Particularmente recomendamos el instalador RailsInstaller que a aparte de instalar el lenguaje de Ruby y el framework de Rails (no es lo que vamos a usar) también instala otros atributos como: SQLite o Git (Esta solución funciona perfectamente para sistemas operativos Windows y Mac OSX. yo solo se las recomiendo si son usuarios Windows). Luego únicamente quedaría instalar la gema de Sinatra y Thin como servidor web. Esto lo puedes ver en la instalación de Mac OS X.

Instalación en OS X

Si eres usuario Mac OS X te recomendamos instalar Ruby de la siguiente manera, ya que así no tendremos conflicto con la versión que trae pre-instalada el sistema operativo y es algo “bastante” vieja y actualmente se encuentra descontentada. Lo primero que debemos hacer, es instalar rbenv un manejador de versiones para Ruby, utilizando preferiblemente Homebrew que es un manejador de paquetes para mac, algo cómo apt-get o yum en linux.

Si en lo personal tienes preferencia con otro manejador de versiones de Ruby y conoces como instalarlo puedes proceder a hacerlo, o puedes revisar chruby y rvm.

$ brew install rbenv ruby-build rbenv-gem-rehash

1 $brew install rbenv ruby-build rbenv-gem-rehash

De esta manera tendremos instalado el manejador de versiones y el instalador de Ruby.

$ rbenv install 2.0.0-p247

1 $rbenv install2.0.0-p247

Una vez instalada la versión de Ruby debemos reiniciar el Terminal. Cerrándolo y abriéndolo.

Luego debemos fijar la versión de Ruby que acabamos de instalar como la versión predeterminada. rbenv global 2.0.0-p247 si todo funcionó correctamente al escribir ruby -v deberíamos observar como salida la versión que elegimos.

Una vez que ya tenemos la versión de Ruby 2.0 por defecto de nuestro equipo es hora de instalar la gema de Sinatra y del servidor Ruby necesario para correr la aplicación llamado “Thin”.

$ gem install sinatra thin

1 $gem install sinatra thin

Esto instalará todas las dependencias necesarias para ambas gemas.

Instalación en Linux (Ubuntu).

El proceso de instalación en Ubuntu es bastante parecido al de Mac OS X, solo que para este no utilizamos un gestor de paquetes, pero debemos tener instalado el paquete git core aquí nos enseña como se instala.

Instalaremos de igual manera rbenv y ruby-build, aunque un poco diferente.

$ git clone git://github.com/sstephenson/rbenv.git ~/.rbenv $ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

12 $git clonegit://github.com/sstephenson/rbenv.git ~/.rbenv$git clonehttps://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

Una vez instalados debemos exportar la dirección particular donde se encuentra instalado para poder utilizar el comando rbenv desde cualquier ubicación.

$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile $ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile

12 $echo'export PATH="$HOME/.rbenv/bin:$PATH"'>>~/bash_profile$echo'eval "$(rbenv init -)"'>>~/bash_profile

Reiniciamos el Terminal y si todo funcionó correctamente al correr $ type rbenv debería indicarnos que es una función.

A partir de este paso instalamos ruby en su versión 2.0.0 parche 247 tal cual como en Mac OS X.

$ rbenv install 2.0.0-p247

1 $rbenv install2.0.0-p247

Una vez instalada la versión de Ruby debemos reiniciar el Terminal. Cerrándolo y abriéndolo.

Luego debemos fijar la versión de Ruby que acabamos de instalar como la versión predeterminada. rbenv global 2.0.0-p247 si todo funcionó correctamente al escribir ruby -v deberíamos observar como salida la versión que elegimos.

Una vez que ya tenemos la versión de Ruby 2.0 por defecto de nuestro equipo es hora de instalar la gema de Sinatra y del servidor Ruby necesario para correr la aplicación llamado “Thin”.

$ gem install sinatra thin

1 $gem install sinatra thin

Esto instalará todas las dependencias necesarias para ambas gemas.


Corriendo una aplicación en Sinatra.

Ya tenemos todo instalado correctamente, es hora de hacer nuestro famoso “Hola, mundo!” en Sinatra para comprobar que todo se instaló correctamente y dar nuestros primeros pasos en esta magnifica herramienta.

Debemos crear un archivo llamado server.rb dentro de una carpeta de nuestra preferencia y escribir lo siguiente:

$ cat server.rb require 'sinatra' get '/' do "Hola, mundo!" end

123456 $cat serverrbrequire'sinatra' get'/'do  "Hola, mundo!"end

cuando hayan finalizado, para poder visualizar debemos correr el servidor de thin para observar el mensaje “Hola, mundo!” en nuestro navegador Web. Para esto utilizamos el siente comando:

$ ruby server.rb == Sinatra/1.4.3 has taken the stage on 4567 for development with backup from Thin

12 $ruby serverrb==Sinatra/1.4.3has taken the stage on4567fordevelopment with backup from Thin

Si abrimos nuestro navegador en localhost con el puerto 4567 observaremos nuestro “Hola, mundo!”.


Conclusión

En este capítulo, aprendimos los conceptos básicos a cerca de Sinatra, a como instalarlo e hicimos nuestra primera aplicación usándolo. Si te surge algún tipo de duda no te detengas y déjanos un comentario, que gustosamente lo responderemos.

¡Hasta el próximo capítulo!


Volver a la Portada de Logo Paperblog