さて、Ruby on railsもなんとなく理解できたので、別のWEBフレームワークも試してみたい。 ということで、目をつけたのがJavaのMVCフレームワークであるPlay。 JavaのMVCフレームワークというとStrutsがデファクトスタンダードらしいですが、 今から始めるならPlayでいいよねと。 Playは言語としてJavaまたはScalaを使います。
scalaはコマンドラインでコンパイルしたりして少しだけ勉強していたので、 MacOSXにはすでに入っていたりします。
$ java -version java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06-451-11M4406)
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01-451, mixed mode)
$ scala -version Scala code runner version 2.10.1 -- Copyright 2002-2013, LAMP/EPFL
ここを出発点とします。 playは以下からDLします。バージョン2.1.1でした。
DLしたplay-2.1.1フォルダを/Applications/へ移動します。MacOSXは楽でいい。 railsコマンドに相当するのが、playというコマンドになります。 ~/.bash_profileファイルに以下を追加して、パスを通します。
export PATH="$PATH:/Applications/play-2.1.1"
bookという新規アプリを作るには、以下のコマンドを入れます。
$play new book
What is the application name? [book] と聞かれますが、そのままEnter。
1 - Create a simple Scala application
2 - Create a simple Java application
と聞かれるので、1+Enter。
完成しました。rails serverに相当するコマンドを実行してみます。
$cd book
$play
playコマンドはプロジェクトのルートディレクトリでないとダメっぽい。 ちょっとrailsより使いづらい。 プロンプトが変わるので、runを入れると9000ポートでアプリが立ち上がります。
[book] $ run
コマンドラインでの開発もできそうですが、Eclipseプロジェクト化することも できるようです。せっかくなので、ソースも付けます。
[book] $ eclipse with-source=true
Eclipseはscala対応版を入れるのがよさそう。ここにあるEclipseを入れます。
http://scala-ide.org/download/sdk.html
プロジェクトを開くにはEclipseで
[メニュー]-[File]-[Import]
[Existing Projects into Workspace]
[Select Root Directory]でbookフォルダを指定します。 画面はこんな感じ。