2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Ruby Webフレームワーク ~Hello Hanami world~

Last updated at Posted at 2019-07-04

Hanamiとは :cherry_blossom: :cherry_blossom: :cherry_blossom:

公式サイト
Ruby on RailsのようなRubyのWebフレームワークです。
2017年にバージョン1がリリースされた比較的新しめのフレームワークで、Railsに近いところもあります。

RailsがMVCベースで、規約に乗っかればスピード感もってサービスを立ち上げるのに強みがあるのに比べ、Hanamiは、DDDの思想がベースにあり、より柔軟にシンプルに設計できることを重視し、長期的なメンテナンスを考え作られているようです。

詳しい解説はこちらをご覧ください。
HanamiはRubyの救世主(メシア)となるか、愚かな星と散るのか

今回は公式のgetting startedに沿って、立ち上げるところまでやっていきます
Hanami getting started

開発環境

  • Mac

  • ruby v2.6.2

プロジェクト作成

まずはhanamiをインストールし、プロジェクトを生成しましょう。
rails newのようにhanami new <projectname>で、プロジェクトが生成されます。

$ gem install hanami
$ hanami -v
1.3.1
$ hanami new hanami-sample

ディレクトリ構成は以下のようになります。

.
├── Gemfile
├── README.md
├── Rakefile
├── apps
│   └── web
│       ├── application.rb
│       ├── assets
│       │   ├── favicon.ico
│       │   ├── images
│       │   ├── javascripts
│       │   └── stylesheets
│       ├── config
│       │   └── routes.rb
│       ├── controllers
│       ├── templates
│       │   └── application.html.erb
│       └── views
│           └── application_layout.rb
├── config
│   ├── boot.rb
│   ├── environment.rb
│   └── initializers
├── config.ru
├── db
│   ├── migrations
│   └── schema.sql
├── lib
│   ├── hanami-sample
│   │   ├── entities
│   │   ├── mailers
│   │   │   └── templates
│   │   └── repositories
│   └── hanami-sample.rb
├── public
└── spec
    ├── features_helper.rb
    ├── hanami-sample
    │   ├── entities
    │   ├── mailers
    │   └── repositories
    ├── spec_helper.rb
    ├── support
    │   └── capybara.rb
    └── web
        ├── controllers
        ├── features
        └── views
            └── application_layout_spec.rb

Railsとほぼ同じ構成ですが、DDDで言うところのドメイン層のビジネスロジックがlibディレクトリに配置されているのは異なる点ですね。

アプリ立ち上げ

プロジェクトを作成できたら、依存関係をインストールして、アプリを立ち上げましょう。

$ bundle install
$ bundle exec hanami server
[2019-07-05 04:37:35] INFO  WEBrick 1.4.2
[2019-07-05 04:37:35] INFO  ruby 2.6.2 (2019-03-13) [x86_64-darwin18]
[2019-07-05 04:37:35] INFO  WEBrick::HTTPServer#start: pid=76404 port=2300

portは2300で立ち上がるので、http://localhost:2300にアクセスしましょう。

起動できていれば、以下画面が表示されます。
スクリーンショット 2019-07-05 4.38.58.png

おわりに

今回は立ち上げるところまで行いました。
実際のコードの中身を見ていくところも今後記事にしていきたいと思います。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?