こんにちは、mioです。
過去にLaravel4の記事を何本か上げた私ですが、先日Laravel5に初めて触ってみたら、想像以上に様変わりしていてちょっと面食らいました。
あたかも田舎では素朴な雰囲気だった女の子が上京してイケイケになってた、みたいな...私は4の方が馴染んだんですが、これはいい悪いではなくて方向性の問題ですね。
ところで、忙しくなればなるほど仕事とは関係のない勉強をしたくなるのは何故なんでしょうね。
試験前に部屋の掃除を始めるのと似た現実逃避の一種なのでしょう。
というわけで、以下は自分の個人サーバに「Play Framework」をインストールしてみた記録です。察して下さい。
JavaベースのWebアプリケーションフレームワークです。そして、Scalaが使えます!
設計思想はRuby on Railsの影響を大きく受けており、変更があったプログラムにアクセスがあった時点でダイナミックに出力するなど、それこそ"Scalaで書けるRuby on Rails"(あるいはJava版Ruby on Rails)と言ってしまって良いと思います。
~~ほぼ趣味です~~個人的にJavaのような静的型付け言語の方がだらしない自分には合っているので(お節介だけど親切)、静的型付けかつモダンな言語、そしてPlayというある程度成熟してきたWebフレームワークがあるということでScalaに手を出してみた次第です。
一般的な公開サーバ上で動作させる前提で、CentOSにPlayを入れてみましょう。
Play Frameworkは各プラットフォーム向けにインストール手段を提供してくれています。
ただ、ここを読むだけでは少し分かりにくいところがあるので、以下にインストールの流れをまとめます。
なお、この記事の執筆時点での最新版は2.3系。
バージョンごとに大きく導入方法が変わることがあるので、必ず公式ドキュメントに一度目を通してバージョンを確認しておいてくださいね。
Playの実行にはJava6以上が必要です。
パッケージから最新版をインストールします。
# yum install java-1.8.0-openjdk
※私のテストサーバはFedoraなのでyumではなくdnfに置き換わってますが、動作は変わらないはず
インストールが終わったら念のためバージョン確認。
# java -version openjdk version "1.8.0_65"
Scalaが入っていない場合はこちらもインストールが必要です。
# yum install scala
そしてバージョン確認。
# scala -version Scala code runner version 2.10.4 -- Copyright 2002-2013, LAMP/EPFL
さて、Play本体をインストールするのですが、最新のPlayはActivatorというツールを使って動かす仕組みになっています。 コマンドも以前は"play"だったものが今は"activator"になりました。
まず、以下の公式ダウンロードページで、最新版のURLを確認します。
DLして解凍します。
$ cd ~ $ wget https://downloads.typesafe.com/typesafe-activator/1.3.7/typesafe-activator-1.3.7.zip $ unzip typesafe-activator-1.3.7.zip $ mv activator-dist-1.3.7 /opt $ rm typesafe-activator-1.3.7.zip
特にビルドは不要でこのまま動いてくれるので、中身の実行プログラムにシンボリックリンクを貼ります。
$ ln -s /opt/activator-dist-1.3.7/activator /usr/local/sbin/activator
最後にパスを通せばActivator導入完了!
$ export PATH=/usr/local/sbin/activator:$PATH
早速Playを起動してみましょう。
プロジェクトの作成は
activator new プロジェクト名 テンプレート名
のように activator を叩きます。
/var/www/public というディレクトリが公開されている前提で、プロジェクトを立ち上げてみます。
$ cd /var/www $ activator new project-name play-scala
しばらく待つと新しいプロジェクトが展開されます。
あとは起動するだけ。
$ cd project-name $ activator run
エラー無く立ち上がったら、ブラウザからアクセスしてみましょう。
初めてのアクセスであれば、その時点で出力内容がビルドされ、以下のようなウェルカム画面が現れるはずです。
以上でインストール、起動まであっという間に終わりました。
今回はCentOSでの導入を紹介しましたが、EclipseなどのIDEへのインストールもサクッと出来るようになっています。
Scalaの長所を生かしてプログラミングするための言語習得はまた別の話ですが、PlayのおかげでScalaに触れるハードルはかなり下がってきたように感じます。
PHPに飽きた、でもRubyやPythonが肌に合わないという御仁、ScalaでWeb開発はいかがでしょうか?
あとはもう少しScala関係の書籍が充実してくれればいいのだが...。