支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡

  • TOP
  •   
  • コラム
  •   
  • Webアプリケーション向けフレームワ

Play Frameworkについて

Play Frameworkは略して単にPlayと呼ばれることもある、世界的にも有名なJavaやJavaの拡張言語であるScalaといったプログラミング言語を用いて作成されたフレームワークです。作成にあたりRuby on Railsの影響を受けているため似た点が多いことや、動作が軽い、メモリ使用量が少ないことなどが特徴として挙げられます。

そもそもフレームワークって?

フレームワークとは、簡潔に言うとシステム開発を楽に行えるようにあらかじめ用意してあるひな形のようなものです。例えばログインして用いるメンバー制のチャットシステムの開発を行う場合、ログイン画面のシステムやメンバー管理のためにアクセスするためのシステム、チャットを更新表示する際の情報の取得、などどれだけ独創性あふれるプログラムを作ろうとしても機能面含め共通するプログラムが出てきます。こうした共通部分の型やシステム開発を容易にしてくれる機能を集めたものを指して、フレームワークと言います。

フレームワークのメリットは先述した通り、プログラミングが容易になることです。1からすべてのプログラミングを行うよりもはるかに短い時間でプログラミングを行うことが出来るため生産性が向上します。大してデメリットとしては、プログラミング言語の学習の他にフレームワークについてもある程度学習が必要になることです。フレームワーク独自の記述の仕方や機能について理解が無ければ折角向上した生産性が逆に下がる結果につながります。他にもメリットがある意味ではデメリットとなります。フレームワークはある程度型が用意されているため、プログラミング言語に対して深い理解がなくとも「なんとなく」でプログラミングが出来てしまう側面がありますので、プログラミング技術の向上に中々つながりにくい、といった点がデメリットとなり得ます。とはいえ、実際の開発現場においては納期や周りと協調することも重要になってきますので、フレームワークは是非活用していきたいツールです。

Play Frameworkとは

Play Frameworkは元々Java向けのWebアプリケーションフレームワークで「今までのJava EEの常識を捨てたフレームワーク」とも言われており、Java EEというフレームワークに用意されていたサーブレットやJSPといった形式を用いず、高速かつメモリの消費も抑えた非常に軽量なフレームワークとして人気が出てきています。Play Framework 2.0からJavaの拡張言語であるScalaも新たにサポートされることになり、より使いやすさが向上しています。また、Play FrameworkはMVCモデルに基づいて設計されています。MVCモデルとは、WebアプリケーションをModel、View、Controllerの3つの機能から構成するモデルで、アプリケーションの制御系を担う部分をCntrollerで作成し、そこから派生して細かいロジックの部分を担うプログラムをModelで作成、実行結果や画面表示に関係する部分をViewで作成する、というモデルです。この3つの機能に分けることでそれぞれの機能の独立性が向上するため、結果として分業が行いやすくなり生産性、保守性の向上につながります。さらにはバグや障害が発生した場合にも、それぞれの機能のどの点に問題が発生しているのかすぐに判断しやすくなることもメリットです。

Play Frameworkと他のフレームワークの比較

Javaにおける有名な他のWebアプリケーションフレームワークであるSpringとの比較を通してPlay Frameworkについて見てみます。まず違いとして挙げられるのが、それぞれのフレームワークの使用に適しているユーザーの違いです。Play FrameworkはRuby on RailsをもとにしていますのでPHPやRuby on Railsを使用してい方が新たにJavaやScalaを用いて開発を行う際に適しています。対してSpringはJavaやSpringについて理解がある方向けのフレームワークです。Spring Bootによって導入時のハードルは大きく下がったものの、Springを使いこなすには学習が必要です。総じて、Play Frameworkは非常に軽量なフレームワークであり、拡張性が高く、フレームワークについての学習時間などのコストも少なく済むので気軽に使えるフレームワークであると言えますが、Springは学習時間などは多くとらなければいけないものの、世界的にも広く利用されており、カバーしている範囲が広く万能型のフレームワークですので、どちらも一長一短であると言えます。

終わりに

ここまでお読みいただきありがとうございます。いかがだったでしょうか。フレームワークを使うことで大きく業務の生産性を向上することが出来ます。しかし、それぞれのフレームワークに特徴があり向き不向きもあるので、業務に最適なフレームワークを見極めて導入しましょう!