Translate

miércoles, 21 de enero de 2026

APIs Ligeras con Crystal y Kemal


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!"}