RubyにおけるWebアプリケーションフレームワークのひとつ。簡潔・軽量・モジュール化を目指して以下の八つの原則に従って開発されている。
- KISS (Keep It Super Simple) : Rubyを知っている人ならば簡単に書けること
- POLS (Principle of Least Surprise) : 直観的で簡単。驚きを最小限に
- Modular design : モジュール化により構成を選択可能にしておくこと
- Minimal dependencies : 基本的な構成はRubyとRackとInnateのみに依存
- Documentation : 全てが文書化されること
- Open development : パッチ大歓迎
- Examples : 実例を豊富に用意すること
- Fully BDD (Behaviour Driven Design) : Bacon を用いた BDD
現在はコアにInnateを採用しており、Innateのラッパーとして扱われている。また、この変更によりドキュメント周りが完全に追いついてない状況となっている。
MVCパターンもしくはVCパターンによる開発が可能であり、最小限以下のようなスクリプトで動作する。
require 'ramaze'
class MainController < Ramaze::Controller
def index
'Hello, World!'
end
end
Ramaze.start
またモジュール化による利点として各構成において選択肢が豊富に用意されている。
- テンプレートエンジン : Tenjin, Amrita2, XSLT, Liquid, Haml など
- ORM : Sequel, Og, Datamapper, ActiveRecord など
- ロガー : Analogger, Syslog, KNotify, XOSD など