Javaのおすすめフレームワーク2021年版
JavaはWEBアプリケーションを開発するにあたって、保守のしやすさなどからよく使われます。比較的中規模~大規模なプロジェクトで採用されることが多く、転職の際にも有利に働きます。
PHPやPythonなどと同様に、Javaのフレームワークにもいくつかの種類があります。小規模向けのものから大規模向けのものまであります。
ここでは、日本や世界のトレンド、そして求人数の比較から、Javaのフレームワークでおすすめのものを紹介しています。
これからJavaのフレームワークを使ってみようと思う人、Javaを使った仕事を探している人など、参考にしていただければと思います。
[このページの内容]
良く使われる人気のJavaフレームワーク
Javaでプログラミングを行う際に、よく使われる人気のフレームワークを6つ紹介します。
Spring Framework
比較的規模の大きなプロジェクトやアプリケーションで採用されることが多いフレームワークです。
DI(依存性注入)やAOP(アスペクト指向プログラミング)というのが特徴です。保守や変更がしやすいということで、比較的規模の大きな開発で用いられます。
モジュール類が豊富で、うまく使いこなせば幅広く対応できます。逆に言うと、フレームワークの規模が大きく、全体を把握するのが難しいです。
Spring Frameworkを簡単に扱えるようになっているSpring Bootというフレームワークもあります。Spring Frameworkの一部となっていますが、複雑なSpring Frameworkよりも手軽に使えるので、まずはSpring Bootから始めてみるというのも良いでしょう。
ライセンスは Apache License 2.0です。
公式サイト:Spring Framework
公式サイト: Spring Boot
Play Framework
小規模~中規模の開発に最適なフレームワークです。軽量なフレームワークで、JavaとScalaを実行することができます。
Java EEやSpring Frameworkを適用するには規模が小さいプロジェクトであったり、ラーニングコストをおさえて開発したい時などに採用すると良いでしょう。
また、PHPやRuby on Railsなどのフレームワークを使って開発してきた人が、Javaのフレームワークを利用するような場合には比較的馴染みやすいのではないかと思います。
ライセンスはApache Licenseです。
公式サイト: Play Framework
Jakarta EE (Java EE)
以前は大規模な開発に用いられることが多かったのですが、より分かりやすく使いやすいようにバージョンアップが繰り返され結果、今では小規模~大規模まで幅広く対応できるようになっています。
ただ、実際に使われる場合は中規模~大規模なシステムで採用されることが多いです。
Java EEは現在オープンソース団体のElipse Foundationに移管されて、Jakarta EEという名称に変更になっています。
Jakarta EE(Java EE)を使う場合は、GlassFishと呼ばれるアプリケーションサーバーを利用することが多いです。
公式サイト:Java EE
JSF (Jave Server Faces)
MVCモデルを採用したWEBアプリケーションのフレームワークです。Java EEの仕様の1つとして採用されています。
UIを表示・制御するフレームワークとして使うことができます。高度なViewを生成することが得意で、コンポーネントをうまく組み合わせることでJavaScriptに詳しくなくても複雑なViewを生成できたりします。
Jakarta EEと同様、GlassFishと呼ばれるアプリケーションサーバーを利用することが多いです。
初期のバージョンと比べ設定ファイルの数も減っていて、とても使いやすくなっています。
公式サイト:Java Server Faces
Apache Struts
2000年代前半に非常によく使われたフレームワークです。当時はデファクトスタンダードの位置を占めるまでになりました。
ただ、2010年代に重大な脆弱性が見つかり、それ以降はあまり使われなくなってきている印象があります。
ライセンスはApache Licenseです。
公式サイト:Apache Struts
Apache Wicket
軽量なフレームワークです。名前にあるように、Apacheによる開発が進められています。
Strutsと同じく、UIに特化したフレームワークです。Javaらしいコードを書いてWEBアプリケーションを作ることができます。Ajaxも上手に統合されていて、とても扱いやすいのが特徴です。
ライセンスはApache Licenseです。
公式サイト:Apache Wicket
日本国内のトレンド
日本国内でJavaのフレームワークのトレンドを調査してみました。下のグラフはGoogleトレンドで検索した結果になります。
日本ではJSFの割合が比較的多いです。続いてJava EE(Jakarta EE)、Spring Framework、Play Frameworkの順になっています。






世界のトレンド
続けて世界中を対象にフレームワークのトレンドを調べてみました。
日本と同様に世界でもJSFが一位となりました。
2位以降は、Spring Framework、Java EE、PlayFrameworkとなっています。この辺りも日本のトレンドと一致しています。






求人数が多いJavaフレームワーク
求人サイトIndeedで求人情報を検索し、Javaのフレームワークがどれくらい求められているかを調査しました。その結果は以下の表のようになっています。
フレームワーク | 求人数 |
---|---|
Spring Framework | 3502件 |
Struts | 2092件 |
Play Framework | 281件 |
JSF | 185件 |
Java EE | 167件 |
この結果を見ると、求人数はSpring Frameworkが一番多く、次いでStrutsとなりました。Googleトレンドとは違う傾向になりました。
転職などに有利なJavaのフレームワークということであれば、Spring Frameworkを知っておくのが良さそうです。
初心者や他言語経験者が初めてJavaのフレームワークを使うならおすすめはこれ!
検索のトレンドや求人で求められているJavaのフレームワークは、JSFやSpring Frameworkなどであることがわかりました。
特にSpring Frameworkは検索トレンドとしても、求人でも多い傾向にありますので、知っておくと今後の仕事の幅が広がるだけでなく、転職の際にも有利に働くと考えられます。
ただ、Spring Frameworkはモジュール類がかなり多く、覚えることもいろいろあります。Java初心者や他言語経験者の場合には、とっつきにくいと感じるかもしれません。
そのため、Spring BootというSpring Frameworkを手軽に扱えるようにしたフレームワークがありますので、そちらをまず最初に使えるようにしてみると身につきやすいと思います。
また、小規模なアプリケーションを使って開発してみたいというような場合であれば、Play FrameworkやApache Wicketを使ってみるのも良いでしょう。Apache Wicketは求人でも求められることは比較的少ないのですが、Play Frameworkを使った求人はしばしば見かけます。
趣味で作るサイトにPlay Frameworkを使ってみても良いでしょう。
まとめ
Javaのフレームワークを使うにあたって、Spring FrameworkやJSF(Java EE)が人気もありますし、転職などの需要もありそうです。
これらのJavaのフレームワークは、PHPやPythonなどと違って覚えることが少し多いので、最初は大変かもしれません。ただ、一度覚えて使えるようになると、大規模開発にも参加できるようになりますし、転職などにも有利に働くでしょう。
フレームワークを知っているとサイトの構築がスピーディーになるだけでなく、より安全性を高めることにもつながるので、是非覚えてみてください。