そもそもSpringってそんなに使われてる?

2番目の理由は、社内標準フレームワークの存在です。大手SIerは、大規模でも、標準的に開発できるようにするために社内標準フレームワークを持っていることが多いと思います。この社内標準フレームワークは、次のパターンが多いでしょう。

スーツなSpringとギークなSeasar2 - ひがやすを blog

実際のところSpringってそんなに使われてるの?おいらが以前率先してやったときは無理やりSpring使わせたことがあったりしたけど*1、それ以外の大手の案件ではHibernateは使われていたけど、Springは使われてなかった。今でもSpringは使われていないらしい・・・。

Seasar2とか知ってる人は意外と少ないけど、そもそも有名なSpringですらも意外と知らない人はたくさんいます。Javaの現役技術者で。まぁ使っていないので無理もないとは思うけど、概要くらいは覚えてほしいなとは思うけど。


リンク先でもでている押し付けられた独自フレームワークの場合、それがどういった方針で作られたのかとにかく人を集めた開発では説明がないため、開発効率が悪いというのが問題かな。1日かけてしっかり方向を教えるだけで現場の開発者の効率は教えられないときの何倍にもなると思うのに。実際、いざとなるとどうしてよいかわからなくて、独自フレームワークのソースを追うという羽目になることはちょくちょくありました。

これはJavaの言語自体は1年もあれば覚えることができるけど、その思想に触れて効率がよくなるにはさらに何年も時間がかかるというのと同じですね。だからC#の技術者をにてるからといってJavaを急遽触らせたりその逆だったりするのは危険とか・・・話がそれました。

でも、一応独自フレームワークはおいらは否定派ではないです。オープンソースのデフォの状態だとそれなりにどこでもつかえるようになっているだけあって、その開発に特化したものではありませんから効率が最大化されているわけではありません。SAStrutsTeedaのいたせりつくせり感は素の状態のStrutsJSFとはもはや別物でしょう。

個人的には、それがそのアプリにあわせたフレームワークやライブラリの選択であったか、そこだけが重要だと思います。以前別の案件で使ったことがあるフレームワークだから、というのでは少なくともおいらは納得しません。だって、どうせ集められる技術者は毎回違う人ばかりでしょ?

それより思想をはっきりさせてくださいよ、と。

*1:なぜ必要なのか、DIコンテナとはどういうものなのか一から教えた