Shinjuku.rb#59 Hanamiの面白さを再認識した
Shinjuku.rb #59 Hanami
もう先月の話ですが、Ruby製のWebApplicationFramework Hanamiがテーマだったので、久々にShinjuku.rbに参加しました。
Hanamiはやっぱり気になる
最近Hanamiのgetting started見ながら個人アプリ作っていたので
主催のtrebyさんとitkrt2yさんのテーマトークの間で、 前に使ったLTの資料と、Hanami
触ってみた感想を交えてLTさせて頂きました。
なんかめんどくさいなあ、というのが正直な気持ち
getting started見つつHanamiしてみた感想は、Railsと比べて圧倒的に「めんどくさい」ということです。
action作るたびに新しいファイル作って、include Web::Action書いて。viewもテンプレートとロジック用のファイルを用意して。あっちこっちファイル開いてちょこっとだけ書いて、というのを繰り返していく、というのが、Railsに慣れた頭には「めんどくさい」と感じました。
小規模なアプリならRailsでさっさと作ったほうが楽だし早くて、きっとHanamiは大規模なアプリ向けなのだと思うのですが、ただこのお作法で大規模なアプリを作った時に、このファイル数に頭がついていけるのだろうか、、、というのが私の感想でした。
HanamiはSimpleだけどEasyじゃない
そんな自分の感想を予想していたかのようなitkrt2yさんが、LTの中で紹介してくれた「Simple is not easy」、素晴らしい内容でした。
rails は”make it much easier and more fun” なのでeasyに寄せてる。simpleを目指しているわけではない。 #shinjukurb
— おおた (@ota42y) 2018年3月28日
hanamiは”The web, with simplicity”なのでsimpleに寄せてる。easyではない。 https://t.co/OLlfsfHdkR #shinjukurb
— おおた (@ota42y) 2018年3月28日
RailsがEasyに寄せていて、HanamiがSimpleに寄せている、というのはとても納得です。
Hanamiはモノリスファースト
こちらもitkrt2yさんが紹介してくれた話です。
Hanamiは「apps」ディレクトリがあり、複数のアプリを相乗りさせる前提で作られています。
RailsでもEngineをマウントすることで同じような構成にすることはできますが、appsにそのまま置けばいいHanamiの方が随分簡単に実現できるような気はします。
マイクロサービスに切り出せるようにモノリスで作っても大丈夫なようにフレームワークがサポートするからMonolith Firstと言ってる。 #shinjukurb
— おおた (@ota42y) 2018年3月28日
新しいものを作る時に、いきなりマイクロサービスで始めるのはYAGNI的な考え方からすると、やりすぎになっていることが多いのかもですね。
Hanamiをもっと使い込んでみたい
もっと色々面白い話があったのですが、一ヶ月経ってすっかり忘れてしまいました。。。
Hanamiについて学んだことで、Rails以外のWAFを見たことで、巨大Railsアプリのつらみの解決策が少し見えてきた気がします。引き続きHanamiをwatchし続けていきます。
「レールに乗って行く先は花見会場かもしれない」ってフレーズを昨日の #shinjukurb で言うつもりで忘れてた
— Tatsuya Itakura (@itkrt2y) 2018年3月29日