システム開発において高い需要を保ち続けるJavaにおいて使用されるフレームワークには沢山の種類があることをご存知でしょうか。Javaのプログラマーとして活動するには人気を集める代表的なフレームワークについては把握をしておきたいものです。この記事ではJavaにおけるフレームワーク人気どころ7選をそれぞれの特徴を踏まえてご紹介させて頂きます。
『Javaにおけるシステム開発を簡単に行えるように用意された枠組みのこと』
JavaフレームワークとはJavaにおけるシステム開発のプログラミングを効率的に実施するために汎用的な機能群をまとめ、システムの骨組みとなるテンプレートまで用意してくれる枠組みのことです。フレームワークを活用することでプログラミングにおける記述コードを最小限に抑えることが出来ます。Javaフレームワークの代表的な種類としてStruts、Spring、JSFなどが挙げられます。
フレームワークの特徴について解説された記事はこちら>>
Javaによるシステム開発に用いられる代表的なフレームワークを7つ紹介させていただきます。
StrutsとはJavaに活用されるクレイグ・マクラナハン (Craig McClanahan)氏によって開発されたオープンソースアプリケーションフレームワークです。Javaにおけるフレームワークの中で最も知名度が高いのではないでしょうか。StrutsはMVCと呼ばれるソフトウェア設計モデルが採用されております。その特徴は画面とデータベースの開発を分離し、モジュール単位での開発を実現させたことにあります。主なStritsの種類(バージョン)としてStruts、Struts2が挙げられます。
SpringとはJavaに活用されるロッド・ジョンソン(Rod Johnson)氏によって開発されたオープンソースアプリケーションフレームワークです。Javaにおけるフレームワークの中でも長い歴史を持ち、世界中のシステム開発に利用されております。Springの特徴は様々なプロジェクトと呼ばれるライブラリの集合体で形成されており、開発者が用途に合わせて必要なライブラリを活用するという特徴があります。そのため非常に柔軟性が高いフレームワークとして親しまれております。主なSpringの種類としてSpringBoot、SpringDate、SpringSecurityなどが挙げられます。
Apache WicketとはJavaに活用されるジョナサン・ロック(Jonathan Locke)氏によって開発されたオープンソースアプリケーションフレームワークです。2005年6月にリリースされ、2007年6月にApacheのトップレベルプロジェクトとなりました。Wicketという言葉には「窓口」という意味があります。その特徴はオブジェクト指向を活かしたJavaらしいコードでWebアプリケーションの開発が出来るという点です。主にユーザインターフェース(UI)を担当するJavaフレームワークとして活用されております。
JSF(Java Server Faces)とは、Javaに活用されるOracle社によって開発されたWebアプリケーションフレームワークです。Strutsと同様にMVCと呼ばれるソフトウェア設計モデルが採用されております。その特徴はWebアプリケーションのユーザインターフェースの作成のために活用され、コンポーネントベースで開発するものとなっております。JSFの仕様はJavaEEJava EE(Java Platform, Enterprise Edition)の一部として取り込まれています。
Play FrameworkとはJavaとScaraの2つのプログラミング言語でZenexity社のプログラマーギヨーム・ボルト(Guillaume Bort)氏によって開発されたオープンソースのWEBアプリケーションフレームワークです。Play FrameworkはRuby on Railsからの影響を強く受けたフレームワークとして有名です。その特徴として軽量で動きが速いという点が挙げられることから度々Webサービスの開発などにおいて好まれて利用されております。
Play Frameworkの公式サイトはこちら>>
Play Frameworkの歴史、特徴、基礎知識の解説された記事はこちら>>
SparkFrameworkとはJavaに活用されるマテイ・ザハリア(Matei Zaharia)氏によって開発されたオープンソースアプリケーションフレームワークです。2014年5月にリリースされて、後にApacheソフトウェア財団に寄付されました。Sparkの特徴は非常にシンプルな仕組みとなっており、Lambda式とstaticメソッドを活用し手軽に実装することが出来るということが挙げられます。またRubyのSinatoraフレームワークにインスパイアされて誕生したと言われております。
Spark Frameworkの公式サイトはこちら>>
SparkFrameworkの歴史や特徴、基礎知識について解説された記事はこちら>>
DropwizardとはYammerというアメリカのSNSサービス向けに開発されたこちらの7選の中でも新しい部類のフレームワークです。Sparkの特徴はサーブレットコンテナ『jetty』が搭載されているため、アプリケーションサーバーを必要としない点です。またまだ新しいフレームワークの為、活用された実績やノウハウが少ないですが今後注目を集める可能性があると言われております。