Ruby
Rails

他の言語やフレームワークをやって気づいたRailsのすごさ9つ

java+spring / python+flaskを使って見て、改めてrailsの凄さ・便利さを感じたのでメモ。
railsで当たり前だと思ってた機能が、当たり前ではないことに改めて気付かされた。

1 初期装備がすごい

他のフレームワークを使うと

rails new (+ 引数)で出来る装備がやばい。
- RDBへの接続, ORM
- MVCの切り分け
- それなりの規模に対応できるフォルダ構成
- DBのスキーマ管理
- Logging
- dev / production / test環境の切り分け
- assets管理 min対応 / alt-js対応
- 今ではwebpackやreactも一発

2 ActiveRecordがすごい

ActiveRecordは最強のORM

3 json化がすごい

だいたい何でもto_jsonやrender :jsonすると当たり前のようにjsonになる
apiサーバの作成で

render json: Hoge.includes(:moge).where(kind:10, moges:{grade:4})

が1行で書けてしまう楽さよ。

4 paramsがすごい

getでもpostでもfomDataもjsonもmulti-partも全部parmas[:hoge]で取れる

5 loggerがすごい

リクエストの始まりと終わりと処理時間、routeエラー、捕捉されない例外をログに出力してくれる。
初期状態で、develomentだとSQLをログに表示してくれる。
ローテーションも設定数カ所いじるだけ

6 assetsがすごい

assets-pipeline or webpack環境を一発で構築してくれる
es6 / haml / sass などもgemで一発

7 互換性がすごい

railsは互換性が無いイメージだけど、プロジェクト全体がrails wayに含まれる。

8 deviseがすごい

簡単かつ高性能かつデファクトスタンダート

9 フルスタックすごい

ここで書いたことを全部含めてrails wayなので、他のrails開発メンバーと意識や前提が共有出来る。
他のフレームワークでやると、どうしてもオレオレ化した構成になりがち。