hirapi's blog

駆け出しwebエンジニアのなんでもないメモ書き

Hanami公式入門ガイド日本語訳【3】Getting Started(2)

http://hanamirb.org/guides/1.1/getting-started/

前提知識

http://hanamirb.org/guides/1.1/getting-started/#prerequisites
始める前に、いくつかの前提を確認しましょう。
まず、webアプリケーション開発の基礎知識はあるものと仮定します。

また、Bundler、Rake、ターミナル操作、MVCモデルでのアプリケーション構築にも馴染みがあるものとします。

最後に、このガイドではSQLiteを使います。
もしこのガイドに沿って手を動かしたいなら、手元の環境でRuby 2.3以上、SQLite 3以上が動くことを確認しておいてください。

新しいHanamiプロジェクトを作る

http://hanamirb.org/guides/1.1/getting-started/#create-a-new-hanami-project
新しいHanamiプロジェクトを作るには、RubygemsからHanami gemをインストールする必要があります。
そうすると、新しいプロジェクトを作るための hanami コマンドが使えるようになります。

% gem install hanami
% hanami new bookshelf

(※ デフォルトでは、プロジェクトはSQLiteを使うように設定されます。
実際の開発のために、このようにしてデータベースエンジンを指定できます: % hanami new bookshelf --database=postgres

これで、カレントディレクトリに bookshelf という新しいディレクトリが作られます。
そこに何があるか見てみましょう:

% cd bookshelf
% tree -L 1
.
├── Gemfile
├── Rakefile
├── apps
├── config
├── config.ru
├── db
├── lib
├── public
└── spec

6 directories, 3 files

知っておかないといけないことはこちらです、

  • Gemfile は、(Bundlerを使って)Rubygemsの依存関係を定義します
  • Rakefile はRakeタスクを記述します
  • apps は1つ以上のRackアプリケーションを含みます
    ここに、最初に作られた Web と呼ばれるHanamiアプリケーションがあります。
    ここには、コントローラー、ビュー、ルーティング定義、テンプレートがあります。
  • config には設定ファイルがあります
  • config.ru はRackサーバー用です
  • db にはデータベーススキーママイグレーションがあります
  • lib にはビジネスロジックと、entityとrepositoryを含むドメインモデルがあります
  • public にはコンパイル済みの静的ファイルを置きます
  • spec にはテストがあります

先に、Bundlerで必要なgemをインストールしましょう。そうすると開発用のサーバーを立ち上げられるようになります。

% bundle install
% bundle exec hanami server

すると…… http://localhost:2300/ で初めてのHanamiプロジェクトの恩恵にあずかることができます!
こういう画面を見ることができるはずです。(訳註:画像は省略)