連載
» 2012年10月26日 18時00分 UPDATE

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

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

[中村修太,クラスメソッド]

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アーキテクチャに沿うことを優先しているフレームワークです。

img1.jpg

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

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

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

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

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

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

img2.jpg

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

img3.jpg

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

       1|2|3 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

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

メールマガジン登録

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