midori
This project is still not production-ready. Questions, suggestions and pull requests are highly welcome.
Description
Midori is a Ruby Web Framework, providing high performance and proper abstraction.
midori | midori-contrib | murasaki | midori_http_parser |
---|---|---|---|
![]() |
![]() |
![]() |
![]() |
Web Framework | Official Extensions | Modularized Event Engine | HTTP Parser |
n/a | |||
n/a | |||
Requirements
- Ruby >= 2.3.7
Installation
gem install midori.rb
With Bundler
gem 'midori.rb'
bundle install
FAQ
Performance
Following benchmark results testing {msg: "Hello"}
JSON response by visiting GET /
with a single-core, 1GB memory, Amazon Web Service Linux instance.
framework | version | req/s |
---|---|---|
Rails (Thin, Ruby 2.5.1) | 5.0.6 | 490.23 |
Rails (API Mode, Thin, Ruby 2.5.1) | 5.0.6 | 785.61 |
Sinatra (Thin, Ruby 2.5.1) | 2.0.0 | 1196.23 |
express.js (Node.js 9.3.0) | 4.16.0 | 5435.98 |
midori (Ruby 2.5.1) | 0.6.0 | 5517.66 |
Name
The name midori comes from midori machi, which was the place I stay on my first travel to Tokyo.
Semantic Versioning
Version consists of four numbers:
Milestone | Major | Minor | Patch | |
---|---|---|---|---|
Example | 1. | 2. | 1. | 5 |
Explanation | Milestone version | Incompatible API changes | Add feature | Fix bugs |
Note: Before version v1.0, there's no minor version API compatible ensuring.
Contributing
See Contributing Guidelines before you leave any comment. This project exists thanks to all the people who contribute.
Tutorial & Example
There is an unfinished tutorial available here.
There is also an example showing how to use midori with a todo-list web app available here.
Roadmap
Development roadmap has been moved here.
Detailed release notes for published versions can be seen here.
Midori 2 Goals
- Support HTTP/2
- Support RPC/ZeroMQ Based Server
- Add MVC abstraction example with scaffold
- Improve structure for fitting AutoFiber
- More examples on using midori
Backers
Thank you to all our backers!
Sponsors
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]