第1章 フレームワークとは

1.3 フレームワークの種類

1 Spring Framework

クラス(やライブラリ)の動作に必要な他のクラスをそのクラス内で生成するのではなく、Spring Frameworkに生成をまかせます。生成されたクラス群は、Spring Frameworkの設定ファイルによって、自動的に結合されます。このような方法を取ることにより、クラスやライブラリの依存性が排除され、単体テストをやりやすくしたり、それぞれのクラスやライブラリの再利用性を高めたりすることができます。

2 Spring Boot

Javaプラットフォーム向けのアプリケーションフレームワークであるSpring FrameworkをWebアプリケーション開発向けに特化させたものです。Spring Frameworkで必要だった設定ファイルの編集が不要であり、ほとんどの設定が自動化、クラスパスの指定なども不要です。

3 Apache Struts

2001年頃から使われている、Javaではもっとも有名なフレームワークです。MVC(Model View Controller モデル・ビュー・コントローラ)モデルを採用しています。アプリケーションデザインの手法のひとつであり、Struts2ではさまざまな改良もされています。フレームワークとしての歴史はあるものの、近年では脆弱性の発見などによって別のフレームワークへ移行するユーザーも増えています。2001年頃から使われている、Javaではもっとも有名なフレームワークです。MVC(Model View Controller モデル・ビュー・コントローラ)モデルを採用しています。アプリケーションデザインの手法のひとつであり、Struts2ではさまざまな改良もされています。フレームワークとしての歴史はあるものの、近年では脆弱性の発見などによって別のフレームワークへ移行するユーザーも増えています。001年頃から使われている、Javaではもっとも有名なフレームワークです。MVC(Model View Controller モデル・ビュー・コントローラ)モデルを採用しています。アプリケーションデザインの手法のひとつであり、Struts2ではさまざまな改良もされています。フレームワークとしての歴史はあるものの、近年では脆弱性の発見などによって別のフレームワークへ移行するユーザーも増えています。

4 JSF

2004年に開発されたJavaの標準フレームワークで、JavaEEの仕様に採用されています。Apache Strutsと同様にMVCを採用しているものの、コンポーネントベースフレームワークという点や、表示にXML方式のHTMLを採用するなどの違いがあります。HTMLの場合はブラウザでそのまま表示されるため、デザインの確認がしやすくなっています。

5 Play Framework

Javaのみならず、ScalaというJavaと親和性の高い言語でも使用することができます。「Ruby on Rails」や「Django」に大きく影響を受けており、CPUリソースやメモリ使用量が少ないため、軽量さと高い生産性を持ち合わせています。また、ServletやJSPを使わずに新たなアプローチでアプリケーション構築を行うことができます。

■まとめ

上記で紹介したもの以外にもフレームワークは存在します。各フレームワークのどれが一番いいのかは断言できません。それぞれ目的に合わせた特徴があり、システム開発を行う目的に合わせてどのフレームワークを選ぶかの判断が重要になります。

NEXT>> 1.4 本章のまとめ