kemal

Lightning Fast, Super Simple web framework. Inspired by Sinatra kemal web-framework websocket api fast simple efficient json rest
0.9.2 released
kemalcr/kemal
3622 186 16
Kemal
# Kemal [![Build Status](https://travis-ci.org/sdogruyol/kemal.svg?branch=master)](https://travis-ci.org/sdogruyol/kemal)

Join the chat at https://gitter.im/sdogruyol/kemal

Lightning Fast, Super Simple web framework for Crystal. Inspired by Sinatra but with superior performance and built-in WebSocket support.

Kemal is under heavy development and currently supports Crystal latest.

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

Build and run!

crystal run 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)

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 ECR (using Kilt)

Documentation

You can read the documentation at the official site kemalcr.com

Thanks

Thanks to Manas for their awesome work on Frank.

kemal:
  github: kemalcr/kemal
  version: ~> 0.9.2
Crystal none

Dependencies 2

  • kilt 0.3.0
    {'github' => 'jeromegn/kilt', 'version' => '0.3.0'}
  • radix 0.1.0
    {'github' => 'luislavena/radix', 'version' => '0.1.0'}

Development Dependencies 0

Dependents 73

Show all 73 dependents
Last synced .
search fire star recently