案件評判
JSFを理解する!初心者でも分かる歴史、特徴、基礎知識などを簡単に解説!

JSFを理解する!初心者でも分かる歴史、特徴、基礎知識などを簡単に解説!

最終更新:2021/09/03 投稿:2020/11/25
JSFを理解する!初心者でも分かる歴史、特徴、基礎知識などを簡単に解説!

JSFはJavaに活用されるオープンソースWebアプリケーションフレームワークです。2006年からJavaEEの一部として統合されており、JavaEE純正のフレームワークとして有名です。Javaフレームワークと向き合う上でJSFを知らずにはいれません。この記事ではJSFを理解するために初心者でも分かる歴史、特徴、基礎知識などを簡単に解説していきます。

JSF

JSF(Java Server Faces)とは、Javaに活用されるOracle社によって開発されたWebアプリケーションフレームワークです。Strutsと同様にMVCと呼ばれるソフトウェア設計モデルが採用されております。その特徴はWebアプリケーションのユーザインターフェースの作成のために活用され、コンポーネントベースで開発するものとなっております。JSFの仕様はJavaEEJava EE(Java Platform, Enterprise Edition)の一部として取り込まれています。

JSFとは
▼正式名称
Java Server Faces(JSF)
▼起源
2004年3月
▼開発元
Oracle社

JSFの公式サイトはこちら>>

Java

JavaとはOracle社が開発・提供するオブジェクト指向のプログラミング言語です。1995年にサン・マイクロシステムズ(後にOracle社が買収)のジェームス・ゴブリン氏によって開発されリリースとなりました。プログラミング言語の発展に大きな影響をもたらしたC言語を元に開発されたことでも有名です。当時、最も人気を集めていたC言語はオブジェクト指向ではありませんでした。Javaの登場によってオブジェクト指向が主流の時代が訪れたと言われております。Javaのキャッチコピーは「Write once, run anywhere」で直訳すると「一度書けば、どこでも実行できる」という意味があります。このことからも分かるようにJavaの特徴は『オブジェクト指向の先駆者』で『どこでも動く』ということらが挙げられます。世界中で最もポピュラーで多くのWebアプリケーションで採用されていることで知られております。

『Java基本情報』
誕生時期:1995年
開発者:サン・マイクロシステムズ(後にOracle社が買収)
種別:コンパイラ言語
特徴:①オブジェクト指向の先駆者/②どこでも動く

Javaの公式サイトはこちら>>
Javaのメリット・基礎知識について解説された記事はこちら>>

Javaフレームワークとは

『Javaにおけるシステム開発を簡単に行えるように用意された枠組みのこと』
JavaフレームワークとはJavaにおけるシステム開発のプログラミングを効率的に実施するために汎用的な機能群をまとめ、システムの骨組みとなるテンプレートまで用意してくれる枠組みのことです。フレームワークを活用することでプログラミングにおける記述コードを最小限に抑えることが出来ます。Javaフレームワークの代表的な種類としてStruts、Spring、JSFなどが挙げられます。

Javaフレームワーク人気どころ7選ついて解説された記事はこちら>>

『フレームワークとは』
フレームワークとはシステム開発におけるプログラミングを効率的に実施するために汎用的な機能群をまとめ、システムの骨組みとなるテンプレートまで用意してくれる枠組みのことです。

フレームワークの特徴や言語別の種類などについて解説された記事はこちら>>

JSFの読み方・名前の由来

JSFの読み方は『ジェイエスエフ』です。正式名称は「JavaServer Faces」ですが、一般的にはJSFと略した名で浸透しております。名前の由来は調査したところ出てきませんでした。

JSFの歴史

JSFはJavaを開発するOracle社によって開発、管理されているオープンソースWebアプリケーションフレームワークです。2004年3月に『JSF 1.0』最初のリリースをしました。2006年になるとJava EEの一部として組み込まれ統合される形になりました。
2009年6月には『JSF 2.0』をリリースし、使いやすさの改善や機能の追加、パフォーマンスの向上を実現しました。2013年にリリースした『JSF 2.2』では完全な「ステートレス・モード」が導入され、ステートはさらに重視されない形となりました。2017年には『JSF 2.3』をリリースし、Java EE 8 に含まれることとなります。簡単に以下の年表にまとめておりますのでご覧ください。

年代 内容
2004年3月 JSF 1.0 
初版リリース
2004年5月 JSF 1.1  
細かなバグを修正し、リリース
2006年5月 JSF 1.2 
Java EE 5に統合
2009年6月 JSF 2.0 
使いやすさの改善や機能の追加、パフォーマンスの向上
2010年10月 JSF 2.1
細かなバグを修正し、リリース
2013年5月 JSF 2.2
「ステートレス・モード」が導入され、ステートはさらに重視されない形
2017年4月 JSF 2.3
Java EE 8 に含まれる

JSFの特徴

JSFの特徴を見ていきましょう。

MVC

JSFは、JavaプログラムをModel(モデル)、View(ビュー)、Controller(コントローラ)の3つの役割に分けて記述するように設計されているというMVCを採用しているという特徴があります。このようにMVCを採用していることで実装部分における作業負担を軽減することができます。

MVCモデルの歴史、特徴などについて解説された記事はこちら>>

UIコンポーネント

JSFはUIコンポーネントを使用するためのタグが用意されているという特徴があります。これによってタグを使って簡単にフォーム入力欄が作れるなどのメリットがあります。

Facelets(テンプレートエンジン)

JSFはFaceletsというJSFのために作られたWebエンジンテンプレートを使用しているという特徴があります。JSF2.0以降JSPに変わってこちらのFaceletsが使用されるようになりました。XMLベースのテンプレート(xhtml)をSAXベースコンパイラで処理するため、JSPと比較して高速にページ生成ができます。

その他のJavaフレームワーク

JSF以外のJavaによるシステム開発に用いられる代表的なフレームワークを紹介させていただきます。

Struts

StrutsとはJavaに活用されるクレイグ・マクラナハン (Craig McClanahan)氏によって開発されたオープンソースアプリケーションフレームワークです。Javaにおけるフレームワークの中で最も知名度が高いのではないでしょうか。StrutsはMVCと呼ばれるソフトウェア設計モデルが採用されております。その特徴は画面とデータベースの開発を分離し、モジュール単位での開発を実現させたことにあります。主なStritsの種類(バージョン)としてStruts、Struts2が挙げられます。

Strutsとは
▼正式名称
Apache Struts(アパッチ・ストラッツ)
▼起源
2000年5月
▼開発元
クレイグ・マクラナハン (Craig McClanahan)氏
(2000年5月にApacheソフトウェア財団へ寄付)
▼Strutsのバージョン
・Struts
Strutsフレームワークの初版
・Struts2
改良モデル。アノテーションによる設定ファイルの削減など

Strutsの公式サイトはこちら>>
Strutsの歴史や特徴、基礎知識について解説された記事はこちら>>

Play Framework

Play FrameworkとはJavaとScaraの2つのプログラミング言語でZenexity社のプログラマーギヨーム・ボルト(Guillaume Bort)氏によって開発されたオープンソースのWEBアプリケーションフレームワークです。Play FrameworkはRuby on Railsからの影響を強く受けたフレームワークとして有名です。その特徴として軽量で動きが速いという点が挙げられることから度々Webサービスの開発などにおいて好まれて利用されております。

PlayFrameworkとは
▼正式名称
Play Framework(プレイ・フレームワーク)
▼起源
2007年
▼開発元
ギヨーム・ボルト(Guillaume Bort)氏
(Zenexity社)

Play Frameworkの公式サイトはこちら>>
Play Frameworkの歴史や特徴、基礎知識について解説された記事はこちら>>

Spring

SpringとはJavaに活用されるロッド・ジョンソン(Rod Johnson)氏によって開発されたオープンソースアプリケーションフレームワークです。Javaにおけるフレームワークの中でも長い歴史を持ち、世界中のシステム開発に利用されております。Springの特徴は様々なプロジェクトと呼ばれるライブラリの集合体で形成されており、開発者が用途に合わせて必要なライブラリを活用するという特徴があります。そのため非常に柔軟性が高いフレームワークとして親しまれております。主なSpringの種類としてSpringBoot、SpringDate、SpringSecurityなどが挙げられます。

Springとは
▼正式名称
Spring Framework(スプリング・フレームワーク)
▼起源
2003年6月
▼開発元
ロッドジョンソン(Rod Johnson)氏
(SpringSource社)
▼主要なSpringの種類
・Spring Boot
複雑な手順や設定が不要でプロジェクトを作成できる
・SpringFramework
Webアプリのコアな機能を提供する
・SpringData
データベース操作を簡易化する
・SpringSecurity
ログイン認証やCSRF対策など

Springの公式サイトはこちら>>
Springの歴史や特徴、基礎知識について解説された記事はこちら>>

まとめ

JSFを理解するために初心者でも分かる歴史、特徴、基礎知識などを簡単に解説させていただきました。JSFを一言で表すと『JavaEE純正のフレームワーク』です。「MVC」「UIコンポーネント」「Facelets」などの特徴が挙げられます。JSFについてこの記事に書かれている最低限の内容は理解をしておくようにしましょう。

案件評判
常駐する会社が、実際どんな会社で、どんな案件が動いているか詳しく知りたい。
これは常駐形態で働く方なら誰もが感じていることだと思います。 常駐の働き方をされている方は是非一度「案件評判」で案件についての評判をチェックしてみてください。