fork of https://github.com/kemalcr/kemal
c08bf71d88
Allow for disabling the shutdown message |
||
---|---|---|
images | ||
samples | ||
spec | ||
src | ||
.gitignore | ||
.travis.yml | ||
CHANGELOG.md | ||
Guardfile | ||
LICENSE | ||
README.md | ||
shard.yml |
Kemal
Lightning Fast, Super Simple web framework for Crystal. Inspired by Sinatra but with superior performance and built-in WebSocket support.
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
Start your application!
crystal src/kemal_sample.cr
Go to http://localhost:3000
Check documentation or samples for more.
Super Fast 🚀
Numbers speak louder than words.
Framework | Request Per Second | Avg. Response Time |
---|---|---|
Kemal (Production) | 100238 | 395.44μs |
Sinatra (Thin) | 2274 | 43.82ms |
These results were achieved with wrk
on a Macbook Pro Late 2013. (2Ghz i7 8GB Ram OS X Yosemite)
Installation
Add this to your application's shard.yml
:
dependencies:
kemal:
github: kemalcr/kemal
branch: master
Features
- Support all REST verbs
- Websocket support
- Request/Response context, easy parameter handling
- Middlewares
- Built-in JSON support
- Built-in static file serving
- Built-in view templating via Kilt
Documentation
You can read the documentation at the official site kemalcr.com
Thanks
Thanks to Manas for their awesome work on Frank.