今回の ginza.rb ミートアップで、Lotus と呼ばれる、Ruby製フレームワークについて学びました。
@y_yagi さんが概要を資料にまとめてくれたので、それに沿って特徴や機能について理解を深めつつ、気になることについてワイワイ話しました。
感想
Lotus は、Rails とは異なる明確なポリシーで設計されており好感が持てます。Rails は少人数、短期間で素早くサービスを作るのに向いているフレームワークだと思いますが、最近はある程度大規模な開発にも使われているはずです。その時に開発メンバーの習熟度にばらつきがあると、例えばコントローラに不必要なインスタンス変数が定義されたり、ActiveRecord を継承したモデルにビジネスロジックが書かれすぎてモデルが肥大化したりします。こうしたことは少しなら問題ないのですが、開発が進むにつれ徐々にビジネスロジックの実装を難しくし、バグが入り込みやすくなり、さらにコードを読み書きする楽しさを奪っていきます。Lotus は、そのようなことが(比較的)起こりにくい設計になっています。
機能的に足りていない部分(関連やi18n)があるので、どんどん使いましょう!とは言えないのですが、Rails で消耗した人向けのもう一つの選択肢になればいいなあ。