プログラミング言語の基本(変数、メソッド、繰り返し、条件分岐、クラス)を覚えたあと初学者に立ちはだかるのがフレームワークという壁です。
初学者にはフレームワークは覚えて使いこなすのが難しいと感じられるでしょう。
しかもJavaのフレームワークはほとんどがドキュメントが英語で書かれています。
しかし、Javaエンジニアになりたいなら通らなくてはいけない試練です。
試練と書きましたが、使いこなせるようになったあかつきには、フレームワークはあなたの頼れる相棒になってくれるでしょう。
それでは、JavaのWebフレームワーク3つを紹介していきましょう。
Contents
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の実務でよく使われるフレームワークを紹介しました。
使用するフレームワークによって開発効率は大きく違うため、就職面接をするときはフレームワークの種類について確認をとっておくことを強くオススメします。