kemal Kemal

Lightning Fast, Super Simple micro web framework written in Crystal programming language.
Inspired by Sinatra.

Start Now!

Super Simple

require "kemal"

# Matches GET "http://host:port/"
get "/" do
  "Hello World!"
end

# Creates a WebSocket handler.
# Matches "ws://host:port/socket"
ws "/socket" do |socket|
  socket.send "Hello from Kemal!"
end

Kemal.run

Features

  • Support all REST verbs
  • Websocket support
  • Request/Response context, easy parameter handling
  • Built-in and easily extensible middlewares
  • Built-in JSON support
  • Built-in static file serving
  • Built-in view templating via ECR

Benchmarks

Numbers speak louder than words.

Framework Request Per Second Avg. Response Time
Kemal (Production) 100238 0.395ms
Sinatra (Thin) 2274 43.82ms

These results were achieved with wrk on a Macbook Pro Late 2013. (2Ghz i7 8GB Ram OS X Yosemite)