Play framework 2.0の概要/5つの特徴とScalaで作るための環境構築Scala+Play 2.0でWebアプリ開発入門(1)(1/3 ページ)

2.0からScalaに対応したWebアプリ開発の人気軽量フレームワーク「Play」について解説し、Webアプリの作り方を紹介する入門連載。初回は、Play 2.0の概要と5つの特徴、ScalaでPlayアプリを作るためのセットアップのやり方を一から解説。開発に役立つ参考サイトも紹介

» 2012年10月26日 18時00分 公開
[中村修太クラスメソッド]

Play frameworkの背景と歴史

 Ruby on Railsが人気となり、それ以外にもいろいろと軽量フレームワークが出てきた2009年ごろ、Javaのフルスタックフレームワークである「Play framework」の1.0(以下、「Play 1.0」)がリリースされました。

 このころよく使用されていた(いまでも十分よく使用されていますが)Javaフレームワークは、SpringSeasar2などのDIコンテナと、それに付随するORマッパー(Spring DataS2JDBC)やMVCのフレームワーク(Spring MVCS2Struts)でした。これらのフレームワークはそれぞれ十分な機能と実績があり、現在でもJavaでWebアプリケーションを開発する際には、まっ先に採用候補に挙がると思います。

 しかし、これらのフレームワークは基本的にJava EEでの開発用フレームワークなので、ServletやJSPなどを使用します(直接は使用しないかもしれませんが)。

 もともとPlay frameworkは生産性に注目し、RESTfulアーキテクチャを目指して開発されました。Play 1.0はフルスタックであるという点以外にもSpringやSeasar2などの既存フレームワークとはだいぶ違いがあります。「いままでのJava EEの常識を捨てたフレームワーク」ともいわれており、Play frameworkではServletやJSPを使いません。

 HTTPセッションもありませんし、warを作成してアプリケーションサーバへデプロイする必要もありません。Java EEの規約よりも、W3CのWorld Wide Webアーキテクチャに沿うことを優先しているフレームワークです。

 Play 1.0の特徴を簡単にまとめると、下記のようになります。

  • フルスタックフレームワーク
  • ステートレスなMVCアーキテクチャ
  • ソースファイルを変更してもサーバを再起動せずJVMへリロードするので、変更はすぐに確認可能
  • テキストエディタがあれば開発可能。また、EclipseなどのIDEもサポート
  • URIとコードのシンプルなマッピング
  • Groovyを用いたテンプレートエンジン
  • 組み込みテストランナーによるTDD(テスト駆動開発)

 Play 1.0の機能詳細については、こちらをご確認ください。

 その後Play 1.0は1.1、1.2とバージョンアップし、以下の機能などが使えるようになりました。

  • モジュールによるScala言語のサポート
  • キャッシュ機能の実装
  • 依存性管理機能の実装

 その後Play 1.xはドキュメントの翻訳サイトができたり、勉強会が開催されたりして、日本でもすぐに人気のフレームワークになりました。

 そして、2012年3月、Play frameworkは2.0となり、大幅な進化を遂げました。このとき、プログラミング言語「Scala」が新たにネイティブサポートされましたが、いままでどおりJavaでの開発も可能です。

 本連載では、Scalaを使ってPlay framework 2.0(以下、「Play 2.0」)をベースとしたWebアプリケーション開発を始めるための方法を紹介します。Scalaについて詳しく知りたい方は連載「スケーラブルで関数型でオブジェクト指向なScala入門」を参照してください。

       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

AI for エンジニアリング
「サプライチェーン攻撃」対策
1P情シスのための脆弱性管理/対策の現実解
OSSのサプライチェーン管理、取るべきアクションとは
Microsoft & Windows最前線2024
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。