Java

Javaのフレームワークは何を覚えればいい?現場でよく使われる定番フレームワーク3選

プログラミング言語の基本(変数、メソッド、繰り返し、条件分岐、クラス)を覚えたあと初学者に立ちはだかるのがフレームワークという壁です。

初学者にはフレームワークは覚えて使いこなすのが難しいと感じられるでしょう。

しかもJavaのフレームワークはほとんどがドキュメントが英語で書かれています。

しかし、Javaエンジニアになりたいなら通らなくてはいけない試練です。

試練と書きましたが、使いこなせるようになったあかつきには、フレームワークはあなたの頼れる相棒になってくれるでしょう。

それでは、JavaのWebフレームワーク3つを紹介していきましょう。

Spring Framework

Spring Frameworkは、おそらく現在最も使われているフレームワークです。

現在のWeb開発の設計の基本であるModel-View-Controller(MVC)に則り、DIコンテナと呼ばれるコンポーネント管理や設定ファイルによる依存性の注入、バッチ処理やHTTPルーティングなどかなり多くの機能が搭載されており、現在の中規模〜大規模開発でよく用いられます。

逆に小規模開発では、Spring BootというよりコンパクトになったSpringを使用することが多いようです。

JavaのWebフレームワークの中で、ゼロから選ぶならSpring Framework、あるいはSpring Bootをおすすめします。

Apache Struts

Apache Strutsは、やや古めのフレームワークですが、かつて中規模〜大規模開発で使われていた実績があるWebフレームワークです。

Struts 1系とStruts 2系が存在し、ほとんど書き方に互換性がない点に注意しましょう。

すでに作られたシステムの保守・運用が多いですが、仕事の数は一定数あり、Javaエンジニアとして就職した場合は触ることもあるでしょう。

しかし、Struts1,2ともに脆弱性が判明しており、新規のプロダクトの開発に使うべきではありません。初心者が今から勉強するフレームワークとしても推奨できるものではありません。

Java Server Faces(JSF)

Java Server Faces(JSF)は、Java EE標準仕様のWebフレームワークです。

JavaEE標準に則っているという安心感に加え、JSFによるアプリケーションは基本的に、「Facelets」によるXHTMLと、「バッキングBean」の作成だけで実際に動くアプリケーションができてしまいます。

Springよりお手軽に、Strutsよりモダンな位置にいるのがJSFです。

現場でもそこそこ採用実績があるようです。ちなみに、筆者の最初の現場はJavaServerFacesでした。

まとめ

本記事では、Javaの実務でよく使われるフレームワークを紹介しました。

使用するフレームワークによって開発効率は大きく違うため、就職面接をするときはフレームワークの種類について確認をとっておくことを強くオススメします。