Play FrameworkはオープンソースのWEBアプリケーションフレームワークです。JavaとScaraの2つのプログラミング言語で使用できるフレームワークとして親しまれております。Play FrameworkはRuby on Railsからの影響を強く受けたフレームワークとして有名です。この記事ではPlay Frameworkを理解するために初心者でも分かる歴史、特徴、基礎知識などを簡単に解説していきます。
Play FrameworkとはJavaとScaraの2つのプログラミング言語でZenexity社のプログラマーギヨーム・ボルト(Guillaume Bort)氏によって開発されたオープンソースのWEBアプリケーションフレームワークです。Play FrameworkはRuby on Railsからの影響を強く受けたフレームワークとして有名です。その特徴として軽量で動きが速いという点が挙げられることから度々Webサービスの開発などにおいて好まれて利用されております。
JavaとはOracle社が開発・提供するオブジェクト指向のプログラミング言語です。1995年にサン・マイクロシステムズ(後にOracle社が買収)のジェームス・ゴブリン氏によって開発されリリースとなりました。プログラミング言語の発展に大きな影響をもたらしたC言語を元に開発されたことでも有名です。当時、最も人気を集めていたC言語はオブジェクト指向ではありませんでした。Javaの登場によってオブジェクト指向が主流の時代が訪れたと言われております。
Javaのキャッチコピーは「Write once, run anywhere」で直訳すると「一度書けば、どこでも実行できる」という意味があります。このことからも分かるようにJavaの特徴は『オブジェクト指向の先駆者』で『どこでも動く』ということらが挙げられます。世界中で最もポピュラーで多くのWebアプリケーションで採用されていることで知られております。
『Javaにおけるシステム開発を簡単に行えるように用意された枠組みのこと』
JavaフレームワークとはJavaにおけるシステム開発のプログラミングを効率的に実施するために汎用的な機能群をまとめ、システムの骨組みとなるテンプレートまで用意してくれる枠組みのことです。フレームワークを活用することでプログラミングにおける記述コードを最小限に抑えることが出来ます。Javaフレームワークの代表的な種類としてStruts、Spring、JSFなどが挙げられます。
Javaフレームワーク人気どころ7選ついて解説された記事はこちら
PlayFrameworkの読み方は『プレイフレームワーク』です。エンジニア界隈ではPlay(プレイ)と略した名で浸透しております。
PlayFrameworkはZenexity社によって開発、管理されているオープンソースWebアプリケーションフレームワークです。ギヨーム・ボルト氏によって作成されたのですが、初期リリース時の情報は残っておらず2007年5月に残されている情報がWeb上に公開されている中で最も古い記録となっております。
2009年10月には『PlayFramework1.0』がリリースされました。2012年3月には『PlayFramework2.0』がリリースされプログラミング言語「Scala」が新たにネイティブサポートとして発表されました。またScalaの開発環境であるTypesafe Stackと結びついたのはこの頃からです。簡単に以下の年表にまとめておりますのでご覧ください。
年代 | 内容 |
2007年5月 | 現存するPlayFrameworkに関する最古の情報 |
2009年10月 | PlayFramework1.0 |
2012年3月 | PlayFramework2.0 「Scala」が新たにネイティブサポートとして発表 |
2019年6月 | PlayFramework2.7.3 |
PlayFrameworkの特徴を見ていきましょう。
PlayFrameworkは高速で耐久性が高いという特徴があります。コンパイラーとランタイム(JVM)は、アプリが高速で実行され、負荷がかかった状態でも実行され続けるように組まれております。
PlayFrameworkはJavaとScalaの両言語で使えるという特徴があります。基本的にフレームワークは特定の言語に対して一つのみに対応しているのが一般的ですがPlayFrameworkではJavaとScalaの両言語で使用可能です。これはScalaはJavaと高い互換性があり、オブジェクト指向と関数型言語を併せ持つ言語だから実現できたことでもあります。
Scalaのメリット・基礎知識について解説された記事はこちら>>
PlayFrameworkはGroovyというテンプレートエンジンを使用しているという特徴があります。Groovyは、Java構文と一貫性を持ち、「HTMLレスポンスレンダリング」「emailメッセージ」「JSONレスポンス」などに対応します。
JSF以外のJavaによるシステム開発に用いられる代表的なフレームワークを紹介させていただきます。
StrutsとはJavaに活用されるクレイグ・マクラナハン (Craig McClanahan)氏によって開発されたオープンソースアプリケーションフレームワークです。Javaにおけるフレームワークの中で最も知名度が高いのではないでしょうか。StrutsはMVCと呼ばれるソフトウェア設計モデルが採用されております。その特徴は画面とデータベースの開発を分離し、モジュール単位での開発を実現させたことにあります。主なStritsの種類(バージョン)としてStruts、Struts2が挙げられます。
SpringとはJavaに活用されるロッド・ジョンソン(Rod Johnson)氏によって開発されたオープンソースアプリケーションフレームワークです。Javaにおけるフレームワークの中でも長い歴史を持ち、世界中のシステム開発に利用されております。Springの特徴は様々なプロジェクトと呼ばれるライブラリの集合体で形成されており、開発者が用途に合わせて必要なライブラリを活用するという特徴があります。そのため非常に柔軟性が高いフレームワークとして親しまれております。主なSpringの種類としてSpringBoot、SpringDate、SpringSecurityなどが挙げられます。
JSF(Java Server Faces)とは、Javaに活用されるOracle社によって開発されたWebアプリケーションフレームワークです。Strutsと同様にMVCと呼ばれるソフトウェア設計モデルが採用されております。その特徴はWebアプリケーションのユーザインターフェースの作成のために活用され、コンポーネントベースで開発するものとなっております。JSFの仕様はJavaEEJava EE(Java Platform, Enterprise Edition)の一部として取り込まれています。
Play Frameworkを理解するために初心者でも分かる歴史、特徴、基礎知識などを簡単に解説させていただきました。Play Frameworkを一言で表すと『JavaとScaraの2つのプログラミング言語で使用できるフレームワーク』です。「高速で耐久性が高い」「JavaとScalaの両言語で使える」「Groovy(テンプレートエンジン)」などの特徴が挙げられます。Play Frameworkについてこの記事に書かれている最低限の内容は理解をしておくようにしましょう。