Java開発の今と昔【フレームワーク編】

java

一昔前と今を比較すると、Javaを取り巻くフレームワークも大分変ってきました。
Javaも他の言語と同様に、時間の流れとともに、開発手法のトレンドは変わってきます。
よって主流となるフレームワークが流動的に変わるのは当然の流れのように感じます。

わたしは10年以上プログラマという職業に従事しています。
今回は、JAVAフレームワークの歴史を振り返ってみたいと思います。

[スポンサーリンク]

2001年〜2002年

わたしが初めてJavaに触れたのがこの年辺りです。
改めて具体的な年数を見ると結構昔のことですね。。

この当時は、フレームワークは使わずに、
JavaサーブレットとJSPで、ひたすらゴリゴリと作り込んでいました。

画面をJSPで作ることがほとんどでしたが、中には画面もJavaサーブレットで作っているものもありました。
Javaサーブレットは、print文で、htmlを出力するという手法です。
JSPを使っている場合でも、JSP内にロジックは満載でした。
今考えるとおどろきですね。。

この当時のビルドは、ANTが主流でした。

2003年〜2006年

このあたりからStrutsが主流になりました。
Strutsの出現とともに、MVCの概念が広く伝わったという印象があります。(MVC概念が先行かな??)

Strutsの出現で、Javaサーブレットを使うプロジェクトは少なくなってきたイメージがあります。
ただし、あいかわずJSP内にロジックは満載でした。
(Strusのtilesを使ってタグ化したりもしていましたが、まだまだロジックは満載でした。)

この時代は、Strutsだけではなく、HibernateやiBATISといった、ORマッパーフレームワークも登場して、SQL操作方法も大分変わりました。

ビルドはMavenを使うプロジェクトも出てきましたが、まだまだANTが主流でした。

2007年〜2010年

このあたりは、SpringやSeasar2を使うプロジェクトが増えてきた印象があります。
DI管理することで、業務ロジックとそれ以外のロジックをキレイに分離することが出来たり、Junitがより簡単に実装することが出来ました。

SpringやSeasar2と併用する形で、Strutsも使うプロジェクトが多かったです。
少数派でしたが、Strutsの代わりに、S2StrutsやSpringMVCを使うプロジェクトも出てきました。

MVCモデルのプロジェクトで、Struts一択時代から、フレームワークを選べる時代になったように感じました。

そして、JSPからロジックが消えた時代でした。
(私が関わっていたプロジェクトでは、ほぼ完全に消えていました。)

ビルドはMavenが主流となりました。
(この辺でANTが消えました)

2011年〜今

Webアプリケーションの製造方法が、ステートフルからステートレスへとシフトされつつある時代です。
ステートフルとステートレスの具体的な違いを説明します。
Webアプリケーション内に画面もロジックも全てが梱包されていたのが、ステートフルです。
WEBアプリケーション単位で画面とロジックを切り離すのがステートレスです。(画面とAPIが独立している感じ)

S2StrutsやSpringMVCの代わりに、ステートレスなAPIを作成するのに特化した、JAXーRSもよく採用されるようになりました。

個人的には、ステートレスAPIでサービス(機能)を提供する方法は非常に好きです。(しっくり感があります。)
JAXーRSも非常に使いやすいのでGoodです。(ただしドキュメントが少ない。。)

さいごに

こうやって改めてみると、10年間でいくつもの大きな変化がJavaにはありました。
もうじきJava8も登場します。
この先もトレンドとなるJavaフレームワークは変わってくると思います。

これからの10年ではどのように変わっていくのでしょうか。
楽しみですが、少し怖い気もしますね。
それでは!