Javaのフレームワーク
このページでは、Javaで使われるフレームワークについて解説します。
実際の現場で使用されているものや、その歴史について触れながら紹介していきます。
Javaのフレームワーク
フレームワークとは、効率的に開発を行うため必要な機能を提供するものです。
ライブラリは部分的に機能を提供するのに対して、フレームワークは目的に沿って必要な機能群を提供します。
Java開発で提供されるフレームワークとしては主に
・Webアプリケーション開発
・データベースアクセス
をサポートするものがあります。今回は特にWEBアプリケーション開発に焦点を当てて紹介します。
Webフレームワーク
Spring Framework
Webアプリケーション開発に用いられるものとして、
JavaではSpring Frameworkというものがデファクトスタンダードの立ち位置にあります。
よく似た名前にSpring Bootというものがあります。
これはSpring Frameworkを使用してWeb開発をする際に
必要な設定を省略化して手軽に開発を行えるようにしたものです。
Spring BootはSpring Frameworkの一部という位置づけになります。
JavaでWEB開発を行う場合は、Spring Bootを使用することが多いです。
フリーランス向けの求人などを検索してみても、Spring Bootで開発をしている案件が多いため
Java技術者としてWEB開発を行う場合はSpring Bootの知識は需要が高いです。
Jakarta EE(Java EE)
また、Spring Frameworkが影響を受けており、レガシープロジェクトで使用されていることが多い
Jakarta EE(Java EE)というものもあります。Jakarta EEとJava EEと2種類の表記があります。
これはバージョンの違いはありますが同じものを指しています。現在の正式名称はJakarta EEです。
もともとOracleがJava EEとして開発されていましたが、
途中からEclipse Foundationに移管されることになります。
そのタイミングで権利などの関係からJakarta EEという名称に変更されました。
Jakarta EEではWeb開発を効率化させる仕組みとして、
有名なものでServlet、JSP、JPA、DIなどの様々な仕様が提供されています。
このあたりは、Spring Frameworkでも使用されているため、
Jakarta EEの知識があるとSpring Frameworkの理解が深まります。
その他
その他にも、JavaでWEB開発を行うフレームワークとしては、
・Seasar2
・Struts
などがあります。
2000年代に使用されて、盛り上がりを見せたフレームワークですが、
現在は新規プロジェクトでの使用は少なくなっています。
Seasar2に関しては、公式サイトを見る限り開発が止まっているようです。
これらは改修やリプレースの案件などで必要になった場合に学ぶことがあるかもしれませんが
新規に学習したり採用するメリットは少ないでしょう。