社内にはRoRを使ったプロジェクトがあって、それを見た感想。
RoRのアピールポイントって「RoR使えばコードなんて全然書かなくてもOK」みたいに思っているのですが、こんなに簡単に動くものが作れるんだぜ?的なサンプルを見る限り、そんな先入観を持ってしまうのは仕方がないのかな・・・
で、実際に業務ロジックを実装していくと結構書く事が多いし、コードも段々ぐちゃぐちゃに・・・少なくともいいイメージはありません。それはRoRに対してであって、Rubyは素敵だなと素直に思います。
最近はJavaでもConvention Over Configurationの考え方が少しずつ浸透しつつあるので、いまさらRoRのアプローチには特別魅力を感じません。Javaのタイプセーフに実装出来る部分に魅力を感じているので、自分的にはRoR(LL言語全般も?)は合わないのかなと思います。
ところでLL言語とJavaによるWEBアプリケーションの決定的違いは、開発時と運用時にあると言えるでしょう。
|
LL言語 |
Java |
| 開発時 |
- サクサク感がある。
- コード補完は期待できない。
- 修正時、追加時のデプロイなどの待ち時間がない。
|
- コード補完は素敵
- ライフサイクルが厳密でサクサク感はない
- デプロイの待ち時間がつらい
|
| 運用時 |
|
|
| 運用中のメンテナンス |
|
|
という感じになります。(実際にはかなり偏見が含まれて居ます。FastCGIならLL言語でも速いというようなツッコミはなしの方向で。)
開発時はJavaだと確かに辛いですが、最近はそれを改善するアプローチも出てきています。Seasar2のHotDeployといわれる技術では、リクエストごとにクラスローダを差し替えるなどをして、開発時の修正にともなうリロードを不要にしています。
なんかグダグダになりましたが、結論を言うとJavaも楽しいZE?ってことで。