En la actualidad, cuando se escucha o se lee acerca del lenguaje de programación Ruby, suele interpretarse erróneamente como Ruby on Rails, esto
gracias a la falta de conocimiento de muchos pseudo-programadores que
piensan que son una misma cosa. Así que definamos conceptos, Rails es un marco de trabajo (framework para los puristas), del lenguaje Ruby, el cual nos permite desarrollar aplicaciones web. Fue usado en sus inicios por Twitter, así que debe ser bueno ¿cierto?
Rails nos brinda todo para que podamos desarrollar aplicaciones
robustas, proporcionándonos desde un inicio una estructura siguiendo la
arquitectura MVC (Modelo-Vista-Controlador), y muchas
otras cosas, pueden visitar su documentación si es que aún no lo
conocían para ver más detalladamente sus bondades, yo aquí los espero…
¿Listos? Bien, continuemos…a estas alturas podrás estarte
preguntando, ¿por qué utilizar otro framework cuando Rails nos
proporciona tanto? La respuesta es sencilla, Porque Rails nos proporciona tanto. ¿No quedó claro? Dejame explicarte un poco más.
Sinatra se define a si mismo como un DSL para
crear aplicaciones web en Ruby con un mínimo esfuerzo. Esto lo logra
quitándonos características las cuales según nuestro proyecto, no
necesitamos, pero es mejor que veamos código cierto.
Lo primero que debemos hacer es instalar la gema de Sinatra.
Una vez que termina de instalarse, vamos a ver lo sencillo que es de utilizar,
Cuando utilizamos Rails, debemos generar un proyecto, hacer un par de configuraciones y ponernos a codificar, con Sinatra y Ruby nos olvidamos de esto y vamos directo al código, en mi caso crearé un archivo llamado test-sinatra.rb.
Lo primero que haremos para probar la sencillez y poder de Sinatra es crear una ruta.
# test-sinatra.rb
require 'sinatra' |
get '/' do |
'<h1>Mi primer Ruta definida con Sinatra | :D!<h1>' |
end
Y al ejecutar esto desde la consola, debemos tener una salida similar a esto:
Lo cual significa que nuestro servidor Sinatra está funcionando. Ahora, si desde tu navegador accedes a http://localhost:4567/ deberías tener una salida similar a esta:
Sencillo cierto, en Sinatra, una ruta no es más que un método HTTP
junto a un patrón de coincidencia de URL, donde cada ruta debe estar asociada a su bloque.
Por lo tanto, las siguientes rutas son validas:
Sencillo cierto, en Sinatra, una ruta no es más que un método HTTP
junto a un patrón de coincidencia de URL, donde cada ruta debe estar asociada a su bloque.
Por lo tanto, las siguientes rutas son validas:
get
'/'
do
# bloque de código |
end |
post '/' do |
# bloque de código |
end |
put '/' do |
# bloque de código |
end |
patch '/' do |
# bloque de código |
end |
delete '/' do |
# bloque de código |
end |
options '/' do |
# bloque de código |
end |
link '/' do |
# bloque de código |
end |
unlink '/' do |
# bloque de código |
end
Un punto que hay que cuidar con Sinatra, es que las rutas coinciden en el orden en que son definidas, esto quiere decir que la primer ruta que coincida con la solicitud del cliente es la que será invocada.
De igual forma, podemos tener rutas dinámicas, las cuales nos permiten definir parámetros con nombre, los cuales serán accesibles desde el hash params.
get
'/hola/:nombre'
do
# params['nombre'] es 'Mushr00m' |
"
|
end
Ahora, para realizar la prueba de esto, debemos detener nuestro servidor y volver a ejecutarlo. Al hacer esto podemos probarlo ingresando a http://localhost:4567/hola/:nombre dónde, debemos sustituir :nombre, con la cadena que deseemos. Debes tener una salida similar a:
Nota como en la URL sustituí :name por Programadores, y esto es lo que imprimió el mensaje, genial ¿cierto?
Eso no es todo, Sinatra nos permite crear las rutas de distintas maneras,
utilizando parámetros de bloque, condiciones, expresiones regulares, además de otras
peculiares formas que Sinatra nos permite.
utilizando parámetros de bloque, condiciones, expresiones regulares, además de otras
peculiares formas que Sinatra nos permite.
Como espero poder haber mostrado, Sinatra es una muy buena opción para
crear aplicaciones web rápidamente y de una forma sencilla. Además de esto,
podemos servir archivos de plantillas, les recomiendo lean la documentación oficial,
o si gustan, escribiré otra entrada para profundizar un poco más en este excelente framework.
crear aplicaciones web rápidamente y de una forma sencilla. Además de esto,
podemos servir archivos de plantillas, les recomiendo lean la documentación oficial,
o si gustan, escribiré otra entrada para profundizar un poco más en este excelente framework.
Y bien, Sinatra es una excelente opción y alternativa a Rails, como framework para desarrollar
aplicaciones web utilizando Ruby, y no se crean, con Sinatra podemos tener las caracteristicas
que nos brinda Rails con a penas un poco de esfuerzo extra.
aplicaciones web utilizando Ruby, y no se crean, con Sinatra podemos tener las caracteristicas
que nos brinda Rails con a penas un poco de esfuerzo extra.
Este comentario ha sido eliminado por el autor.
ResponderBorrarInteresante, parece mas sencillo que rails. Por lo menos en los aspectos que se tocan en este articulo, aunque en mi opinión falto más la comparativa entre ambos frameworks.
ResponderBorrarEspero sigas escribiendo más artículos comparando estos frameworks.
Con mucho gusto pedro, voy a seguir escribiendo artículos sobre Rails y además de programación en general. Saludos
ResponderBorrar¿Por qué robas contenido? :'(
ResponderBorrar