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アプリを作るためのセットアップのやり方を一から解説。開発に役立つ参考サイトも紹介
Play frameworkの背景と歴史
Ruby on Railsが人気となり、それ以外にもいろいろと軽量フレームワークが出てきた2009年ごろ、Javaのフルスタックフレームワークである「Play framework」の1.0(以下、「Play 1.0」)がリリースされました。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
このころよく使用されていた(いまでも十分よく使用されていますが)Javaフレームワークは、SpringやSeasar2などのDIコンテナと、それに付随するORマッパー(Spring DataやS2JDBC)やMVCのフレームワーク(Spring MVCやS2Struts)でした。これらのフレームワークはそれぞれ十分な機能と実績があり、現在でも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入門」を参照してください。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
Copyright © ITmedia, Inc. All Rights Reserved.