Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kemalcr/kemal
Fast, Effective, Simple Web Framework
https://github.com/kemalcr/kemal
api crystal efficient fast json kemal rest simple web-framework websocket
Last synced: 3 days ago
JSON representation
Fast, Effective, Simple Web Framework
- Host: GitHub
- URL: https://github.com/kemalcr/kemal
- Owner: kemalcr
- License: mit
- Created: 2015-10-23T16:56:29.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2024-10-28T10:55:56.000Z (about 2 months ago)
- Last Synced: 2024-10-29T15:11:15.560Z (about 1 month ago)
- Topics: api, crystal, efficient, fast, json, kemal, rest, simple, web-framework, websocket
- Language: Crystal
- Homepage: https://kemalcr.com
- Size: 733 KB
- Stars: 3,614
- Watchers: 75
- Forks: 188
- Open Issues: 17
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- awesome-crystal - kemal - Lightning Fast, Super Simple web framework. Inspired by Sinatra (Web Frameworks)
- awesome-luooooob - kemalcr/kemal - Fast, Effective, Simple Web Framework (Crystal)
- awesome-crystal - kemal - Lightning Fast, Super Simple web framework. Inspired by Sinatra (Web Frameworks)
- awesome-crystal - kemal - Lightning Fast, Super Simple web framework. Inspired by Sinatra (Web Frameworks)
README
[![Kemal](https://avatars3.githubusercontent.com/u/15321198?v=3&s=200)](http://kemalcr.com)
# Kemal
Lightning Fast, Super Simple web framework.
[![CI](https://github.com/kemalcr/kemal/actions/workflows/ci.yml/badge.svg)](https://github.com/kemalcr/kemal/actions/workflows/ci.yml)
[![Join the chat at https://gitter.im/sdogruyol/kemal](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/sdogruyol/kemal?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)# Super Simple ⚡️
```ruby
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!"
endKemal.run
```Start your application!
```
crystal src/kemal_sample.cr
```
Go to *http://localhost:3000*Check [documentation](http://kemalcr.com) or [samples](https://github.com/kemalcr/kemal/tree/master/samples) for more.
# Installation
Add this to your application's `shard.yml`:
```yaml
dependencies:
kemal:
github: kemalcr/kemal
```See also [Getting Started](http://kemalcr.com/guide/).
# Features
- Support all REST verbs
- Websocket support
- Request/Response context, easy parameter handling
- Middleware support
- Built-in JSON support
- Built-in static file serving
- Built-in view templating via [ECR](https://crystal-lang.org/api/ECR.html)# Documentation
You can read the documentation at the official site [kemalcr.com](http://kemalcr.com)
## Thanks
Thanks to Manas for their awesome work on [Frank](https://github.com/manastech/frank).