Crystal es un lenguaje que combina la velocidad de C con la elegancia de Ruby.
Entre sus frameworks web más populares se destaca Kemal, un microframework minimalista y rápido, muy similar a Sinatra (Ruby) o Express (Node.js).
Primero, asegúrate de tener instalado Crystal.
Podés verificarlo con:
crystal --version
Y si no lo tenés instalado podés ejecutar este comando:
curl -fsSL https://crystal-lang.org/install.sh | sudo bash
Luego, instalá Kemal agregándolo a tu proyecto con shards, el gestor de dependencias de Crystal.
shards init
Editá el archivo shard.yml y agregá:
dependencies:
kemal:
github: kemalcr/kemal
Finalmente, instalá las dependencias:
shards install
Creamos un archivo app.cr:
require "kemal"
get "/" do
"Hola desde Crystal con Kemal!"
end
Kemal.run
Y ejecutamos:
crystal run app.cr
📍 Luego, abrí http://localhost:3000
Vas a ver la respuesta:
Hola desde Crystal con Kemal!
Kemal permite definir rutas con parámetros y manejar JSON fácilmente:
require "kemal"
require "json"
get "/saludo/:nombre" do |env|
nombre = env.params.url["nombre"]
{ mensaje: "Hola, #{nombre}!" }.to_json
end
Kemal.run
GET http://localhost:3000/saludo/Emanuel
Responde con:
{"mensaje": "Hola, Emanuel!"}
