Fast response times - Hanami is optimized for speed. It returns responses in a matter of milliseconds. Take the full advantage of Content Delivery Networks to make your apps faster.
Secure by default - Deploy applications that rely on latest browser technologies such as Content Security Policy, X-Frame headers, automatic escaping to protect your users against the most common security threats.
Full-featured, but lightweight - Use the 100+ features that we offer to build powerful products without compromising memory. Hanami consumes 60% less memory than other full-featured Ruby frameworks.
Simple and productive - Enjoy Hanami's simplicity of design and the minimalism of its components. Write flexible code in a matter of minutes, and make it easy to change for the future.
Hanami alternatives and similar gems
Based on the "Web Frameworks" category.
Alternatively, view Hanami alternatives based on common mentions on social networks and blogs.
9.8 6.3 L4 Hanami VS SinatraClassy web-development dressed in a DSL (official / canonical repo)
9.1 7.3 Hanami VS ReactOnRailsIntegration of React + Webpack + Rails + rails/webpacker including server-side rendering of React, enabling a better developer experience and faster client performance.
3.9 0.0 L5 Hanami VS RamazeRamaze is a simple, light and modular open-source web application framework written in Ruby.
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Hanami or a related project?
The web, with simplicity.
This branch contains the code for
Hanami is a full-stack Ruby web framework. It's made up of smaller, single-purpose libraries.
This repository is for the full-stack framework, which provides the glue that ties all the parts together:
- Hanami::Model - Persistence with entities, repositories and data mapper
- Hanami::View - Presentation with a separation between views and templates
- Hanami::Controller - Full featured, fast and testable actions for Rack
- Hanami::Validations - Validations mixin for Ruby objects
- Hanami::Router - Rack compatible HTTP router for Ruby
- Hanami::Helpers - View helpers for Ruby applications
- Hanami::Mailer - Mail for Ruby applications
- Hanami::Assets - Assets management for Ruby
- Hanami::Utils - Ruby core extensions and class utilities
These components are designed to be used independently or together in a Hanami application.
Hanami supports Ruby (MRI) 2.6+
gem install hanami
hanami new bookshelf cd bookshelf && bundle bundle exec hanami server # visit http://localhost:2300
Please follow along with the Getting Started guide.
You can give back to Open Source, by supporting Hanami development via a donation. :green_heart:
- Home page: http://hanamirb.org
- Community: http://hanamirb.org/community
- Guides: https://guides.hanamirb.org
- Snippets: https://snippets.hanamirb.org
- Mailing List: http://hanamirb.org/mailing-list
- API Doc: http://rdoc.info/gems/hanami
- Bugs/Issues: https://github.com/hanami/hanami/issues
- Stack Overflow: http://stackoverflow.com/questions/tagged/hanami
- Forum: https://discourse.hanamirb.org
- Chat: http://chat.hanamirb.org
We strive for an inclusive and helpful community. We have a Code of Conduct to handle controversial cases. In general, we expect you to be nice with other people. Our hope is for a great software and a great Community.
- Fork it ( https://github.com/hanami/hanami/fork )
- Create your feature branch (
git checkout -b my-new-feature)
- Commit your changes (
git commit -am 'Add some feature')
- Push to the branch (
git push origin my-new-feature)
- Create a new Pull Request
In addition to contributing code, you can help to triage issues. This can include reproducing bug reports, or asking for vital information such as version numbers or reproduction instructions. If you would like to start triaging issues, one easy way to get started is to subscribe to hanami on CodeTriage.
How To Use Hanami HEAD
If you want to test Hanami's HEAD to try a new feature or to test a bug fix, here's how to do:
git clone https://github.com/hanami/hanami.git cd hanami && bundle bundle exec hanami new bookshelf --hanami-head cd bookshelf vim Gemfile # edit with: gem 'hanami', path: '..' bundle
- Ruby 2.3+ / JRuby 126.96.36.199+
- Node.js (MacOS)
In order to simulate installed gems on developers' computers, the build installs
all the gems locally in
hanami code from
Before running a test, please make sure you have a fresh version of the code:
./script/setup bundle exec rspec spec/path/to/file_spec.rb
To run all the tests, please use:
Hanami uses Semantic Versioning 2.0.0
Released under MIT License.
This project was formerly known as Lotus (
Copyright © 2014-2021 Luca Guidi.
*Note that all licence references and agreements mentioned in the Hanami README section above are relevant to that project's source code only.