Resumen del meetup de Julio

- Daniel Peñaloza

¿Te perdiste el meetup de Julio de RubyPerú? No te preocupes, te tenemos cubierto. Prepárate porque tenemos para ti muchos detalles en este resumen.

Primera charla: StimulusJS

Julio Navarro nos habló de StimulusJS, un framework de JavaScript que te permite agregar interactividad a tus elementos HTML. Este tema surgió de un tweet de DHH (el creador de Rails) en el que hablaba de que usaron Stimulus como parte del stack de HEY.

Stimulus, es un framework pequeño que no busca manejar toda la lógica de tu front-end. Sino que sirve más como un reemplazo de vainilla JS o jQuery.

La ventaja es que, al solo agregar eventos a tu HTML, te permite seguir utilizando el motor de plantillas de Ruby on Rails. Y, al tener una curva de aprendizaje pequeña, te permite concentrarte más en la lógica de negocio.

Stimulus junto con Rails puede que no nos otorgue la mejor experiencia para el usuario, pero hace que los desarrolladores sean mucho más productivos.

Si quieres jugar con Stimulus, aca hay una guía para poder empezar 🙂 https://stimulusjs.org/handbook/introduction

Aca te dejamos la presentación si es que se te paso algo.

Segunda charla: Sinatra

Diego Torres nos dio una charla de Sinatra, un DSL para crear aplicaciones con el mínimo esfuerzo.

Crear una aplicación web con Sinatra es bastante rápido. Solo se instala la gema y se utiliza el método get para que responda al request de la ruta '/'. Y con eso ya tienes tu primera aplicación con sinatra.

# myapp.rb
require 'sinatra'

get '/' do
  'Hello world!'
end

Instala la gema:

gem install sinatra

Y corres la aplicación con:

ruby myapp.rb

Así como hay un método get, existe un método para todos los verbos HTTP.

get '/' do
  .. show something ..
end

post '/' do
  .. create something ..
end

put '/' do
  .. replace something ..
end

patch '/' do
  .. modify something ..
end

delete '/' do
  .. annihilate something ..
end

Además te permite utilizar los nombres de las rutas como parámetros.

get '/hello/:name' do
  # matches "GET /hello/foo" and "GET /hello/bar"
  # params['name'] is 'foo' or 'bar'
  "Hello #{params['name']}!"
end

E incluso, obtener los parámetros de la query si los necesitas.

get '/posts' do
  # matches "GET /posts?title=foo&author=bar"
  title = params['title']
  author = params['author']
  # uses title and author variables; query is optional to the /posts route
end

Es lo suficientemente flexible para trabajar junto con ERB.

get '/' do
  erb :index
end

Es bastante útil cuando tienes proyectos pequeños, o cuando quieres sacar algo rápido.

Si quieres probar como funciona Sinatra acá puedes comenzar.

Aquí te dejamos la presentación de Diego.

Y no te olvides que si quieres aportar con una charla, puedes apuntarte mediante este form. 🙂

Los esperamos!

Hecho con 🩷 por la comunidad de Ruby Perú