ひがやすを技術ブログ

電通国際情報サービスのプログラマ

Struts化するRailsって本当か

良い悪いは置いておくとしてRubyOnRailsはStrutsになるのだなと感じています(エンタープライズ開発でデファクト・スタンダードになって一定のポジションを獲得する)

最近、「RailsStruts化する」という風に思っている人が多そうなので、私の意見を書いておきます。
そんなことはないでしょう。
エンタープライズ開発をおこなっている多くのSIerは、とても保守的(だと思う)です。Strutsの導入だってとても慎重で、他で結構使われてもう大丈夫と思ったところで導入したというケースが多いのではないでしょうか。
理由は簡単で、規模が大きいと失敗の損失が大きいので、できる限りリスクを避けようとするためです。今特に困ってないなら、冒険する必要はないという判断です。
新たなテクノロジーを導入するのは、リスクがなく生産性が向上すると判断したか、今のテクノロジーではコストがかかり過ぎると判断したような場合でしょう。
なぜ日本のSIerの中でStrutsが普及したかという理由を私なりに分析してみましょう。
2001年くらいからWebを使ったブラウザベースのシステムが増えてきました。C/S時代のアプリケーションの配布コストがかかる問題を改善するためです。
当時Webアプリケーションを開発するために各SIerは、独自フレームワークを内製していました。最初作ったころは良かったんですが、その後、フレームワークのメンテナンスのコストに各SIerは悩むことになります。作るときは良いんですよ、プロジェクトの中で体制を作れるから。でも、いったんプロジェクトが終わった後、フレームワークをメンテする部隊を維持し続けることが大変なのです。2002年が各SIerフレームワークのメンテナンスコストに悩んでいた時代。
そんなころ、はやり始めたのが、Strutsです。2002年は様子見だったSIerも2003年ごろからは、独自フレームワークのメンテナンスコストを削減するためにStrutsを採用するようになります。また、ライバル会社が採用すると自分たちが採用する敷居も下がります。
そういう背景から、2003年ごろからエンタープライズ開発でStrutsが採用されるようになったんじゃないかと思います。単にStrutsがはやったからエンタープライズ開発で使われるようになったわけではないのです。
現在の状況で保守的なSIerがリスクをとってまで、Railsを採用するとはあまり思えません。かつて独自フレームワークのメンテナンスコストに悩んでいたような目の前の問題を抱えていないためです。
また、Railsは少数精鋭の開発向きで、大人数での開発には向いていないと思います。だから、大人数での開発にRailsを使うことはないんじゃないかと思います。SIerも馬鹿ではない。
エンタープライズRailsってのは、Railsらしくないと思うし、すごく危険な感じ。