hirapi's blog

ちゃんとしたふりをする

Hanami公式入門ガイド日本語訳【1】Introduction

Hanami | Guides
英語のリハビリがでら和訳してみることにした。

はじめに

Hanamiとは?

Hanamiは、多くの小さいライブラリで構成されたRuby MVCフレームワークです。
Hanamiはシンプルで安定したAPI、最小限のDSLを有しています。また、過度な責務を負ったわかりにくいクラスよりも、純粋なRubyオブジェクトを使うことを重んじています。

明確な責務を持ったシンプルなオブジェクトを使うと、一般的にボイラープレートなコード(訳註:定型的なおまじないが繰り返し現れるコード)になります。
Hanamiを使えば、基本的な実装を保守している間、この余計な地道な作業を軽減することができます。

なぜHanami?

ここに、Hanamiを選ばざるを得ない3つの理由を示します:

軽量

Hanamiのコードは比較的短く、(実装に関係無く)全てのwebアプリケーションが必要とするようなことだけに関心を置いています。
Hanamiには様々なモジュールが備わっており、またその他のライブラリも簡単に組み込むことができます。

わかりやすいアーキテクチャ

"Rails way"に逆らっているように感じている人は、Hanamiをきっと評価することでしょう。
Hanamiにおいてコントローラーアクションはクラスから生成されています。そしてそれゆえに独立したテストを行いやすくなっています。
またHanamiでは、ビジネスロジックユースケースオブジェクト(いわゆるinteractor)に書くことが推奨されています。
Viewはテンプレートと分離しているため、内部にロジックを十分に書くことができ、また独立してテストすることができます。

スレッドセーフ

スレッドを使うと、アプリケーションのパフォーマンスを劇的に向上させることができます。
スレッドセーフなコードは簡単に書けるべきであり、Hanamiは(フレームワーク全体においても、その一部においても)スレッドセーフに実行されます。

ガイド

ガイドでは、高次のHanamiコンポーネントと、フルスタックアプリケーションの中でそれらの設定・活用・テストを行う方法を説明します。
ガイドで扱うのはBookshelfという想像上のプロダクトです。Bookshelfは読書体験をシェアし、本を購入することができるオンラインコミュニティです。
初めてのHanamiアプリケーションを構築するために、ガイドを始めましょう。