JVM Frameworkの比較資料を見つけた

ここで紹介されていたので忘れないようにメモ。

90ページもある大作。

Google Trendの結果とIndeedの結果の両方が載せられているが、サーバサイドのフレームワークだとSpring MVCJAX-RSだとJersyが一番人気。クライアントサイドフレームワークの場合、結果が異なり、Google TrendだとBackbone.jsをAngular.jsが追い抜いて一番人気だが、Indeedの結果だと依然Backbone.jsが一番人気のようだ。

他にもmailig list trafficやStackOverflowの結果をのせて、色々なフレームワークを紹介しているが、最後の3枚(87ページから89ページ)で至極当然の結論を述べている。

・There is no "best" framework
・Don't listen to me. Think for yourself.
・Choose your own.
-Prioritize a list of goals that are important to your application.
-Pick 3-4 frameworks and do a spike with each, developing the same application.
-Document and rank each framework against your list of goals.
-Calculate and choose!
-Don't be a Picker.

訳すと、こんな感じだろうか。

・最適なフレームワークなんて無い。
・自分で考えなさい。
・あなた自身で選びなさい。
 -これから作るアプリケーションで実現したいものを一覧にして優先順位をつけましょう。
 -3〜4個のフレームワークを選んで使ってみて、同じアプリケーションを作ってみましょう。
 -先ほど作成した実現したいもの一覧と照らしあわせて、それぞれにフレームワークに順位をつけましょう。
 -よーく考えてフレームワークを選びましょう!
 -選ぶだけにならないようにしましょう。(「選ぶだけでなく、使ってみましょう!」という意味だと思う。日本のSIに多い、口だけの人達にならないようにしましょうと解釈したw。)

私はSIと呼ばれる仕事をしている。

会社の方針として、標準化(コーディング規約を始めとする開発標準の策定、社内で標準として使用するフレームワークの評価および選定 などなど)の仕事を、プロジェクトと掛け持ちで遂行するのだが、これがなかなか進まない。ステークホルダーが多いので意見がまとまらないことと、時代と共に必要とされる技術が変化してスピード感が合わないことが原因だと思っている。

私の意見としては、使用する標準的なフレームワークを決めることも大切だが、それ以上に、どのフレームワークも試しに使ってみて、簡単なサンプルアプリを作れる技術者を育てるほうがよっぽど生産性があがると思っている。