Play Framework 2.1の開発環境を整えよう! (1/4)
作成:2013-01-06 14:36
更新:2013-01-06 14:36
更新:2013-01-06 14:36
■Play Frameworkとはナニモノ?
Javaは「サーバーサイド開発」の分野で広く使われている――これはJavaプログラマには当たり前のこととして受け入れられています。が、では実際にあなたの周りでWebアプリケーションをJavaで作ってる人はいますか?と尋ねれば、沈黙してしまう人も多いんじゃないでしょうか。
サーバーサイドJavaは、確かに広く使われています。が、その多くはエンタープライズの分野であり、私たち「個人でJavaをやってる」という人には無縁の世界であったりします。個人でサーバーサイドJavaを使うためには、まずなによりも「個人で手軽にJavaが使えるサーバー環境」がないといけません。が、そうした環境は今まであまり見ることがありませんでした。
そうした現状も、最近になって変わりつつあります。「クラウドサービス(IaaSなど)」の普及により、さまざまな言語によるサーバー開発が手軽に行えるようになって来ました。例えば、Google App Engineを使えば、誰もが手軽にサーバーサイドJavaを使ったWebアプリケーション開発が行えます。
しかし、実際にやってみるとわかることですが、JSPやサーブレットをしこしこ書いて本格的なWebアプリケーションを作るというのは、けっこうしんどいんですよね。RubyのRailsや、PHPのCakePHPのように、ここはやっぱり「便利で強力なフレームワーク」を利用したいものです。
こうしたRailsやCakePHPのような「MVCアーキテクチャーによるWebアプリケーション・フレームワーク」として、Javaの世界で最近、急速に普及しつつあるのが「Play Framework」です。
●使用言語は、JavaとScala!
Play Frameworkは、一般に「Javaのフレームワーク」と考えられています。確かにJavaのライブラリとして全体が構築されていますから間違いではありません。が、実をいえば、Play Frameworkでは、Javaだけでなく、「Scala」という言語もサポートされています。
Scalaは、Java仮想マシン上で動くスクリプト言語です。Javaの文法と似ているので、Javaの経験があればすぐに簡単なスクリプトぐらいは書けるようになるでしょう。このScalaを使ってWebアプリケーションを記述することができるのです。慣れるとJava以上に簡単にコーディングできるはずですよ。
●JSP/サーブレットよ、さらば!
このPlay Frameworkの最大の特徴は、「JSP/サーブレットを使わない!」という点でしょう。Play Frameworkは、独自に用意されたクラスを継承して、ごく一般的なJavaクラスとしてコントローラーやモデルを作成していきます。サーブレット特有のコーディングとは全く違うアプローチです。
また画面表示を担当するビューも、JSPではなく、Scalaを使って記述をします。JSPのタグを使わないため、HTMLのデザインツールなどでレイアウトが崩れたりすることもありません。
●Tomcatよ、さらば!
サーバーサイドJavaの開発となると、まずTomcatをインストールして……となりますが、Play Frameworkではサーブレットを一切使わないため、Tomcatのようなサーブレットコンテナも用意する必要がありません。
Play Frameworkにはサーバー機能が内蔵されており、簡単なコマンドでサーバーを起動し実行することができます。つまり、別途サーバサイドJavaを動かすサーバー環境を用意する必要などないのです。
●コマンドで基本はすべて準備できる!
Play Frameworkには「play」コマンドというものが用意されています。開発に必要な機能は、このコマンドを使ってすべて実行することができます。例えば、新しいアプリケーションを作成したり、MVCのパーツを作成したりするのも、コマンドを実行するだけで自動的に必要なファイルが作成されるのです。サーバーの実行も、もちろんplayコマンドで行えます。
――要するに「コマンドであっという間にファイルが作れ、JSPだのサーブレットだのの知識も不要。Javaに似た簡単なスクリプトを書くだけでWebアプリが作れる」のがPlay Frameworkだ、というわけです。
サーバーサイドJavaは、確かに広く使われています。が、その多くはエンタープライズの分野であり、私たち「個人でJavaをやってる」という人には無縁の世界であったりします。個人でサーバーサイドJavaを使うためには、まずなによりも「個人で手軽にJavaが使えるサーバー環境」がないといけません。が、そうした環境は今まであまり見ることがありませんでした。
そうした現状も、最近になって変わりつつあります。「クラウドサービス(IaaSなど)」の普及により、さまざまな言語によるサーバー開発が手軽に行えるようになって来ました。例えば、Google App Engineを使えば、誰もが手軽にサーバーサイドJavaを使ったWebアプリケーション開発が行えます。
しかし、実際にやってみるとわかることですが、JSPやサーブレットをしこしこ書いて本格的なWebアプリケーションを作るというのは、けっこうしんどいんですよね。RubyのRailsや、PHPのCakePHPのように、ここはやっぱり「便利で強力なフレームワーク」を利用したいものです。
こうしたRailsやCakePHPのような「MVCアーキテクチャーによるWebアプリケーション・フレームワーク」として、Javaの世界で最近、急速に普及しつつあるのが「Play Framework」です。
●使用言語は、JavaとScala!
Play Frameworkは、一般に「Javaのフレームワーク」と考えられています。確かにJavaのライブラリとして全体が構築されていますから間違いではありません。が、実をいえば、Play Frameworkでは、Javaだけでなく、「Scala」という言語もサポートされています。
Scalaは、Java仮想マシン上で動くスクリプト言語です。Javaの文法と似ているので、Javaの経験があればすぐに簡単なスクリプトぐらいは書けるようになるでしょう。このScalaを使ってWebアプリケーションを記述することができるのです。慣れるとJava以上に簡単にコーディングできるはずですよ。
●JSP/サーブレットよ、さらば!
このPlay Frameworkの最大の特徴は、「JSP/サーブレットを使わない!」という点でしょう。Play Frameworkは、独自に用意されたクラスを継承して、ごく一般的なJavaクラスとしてコントローラーやモデルを作成していきます。サーブレット特有のコーディングとは全く違うアプローチです。
また画面表示を担当するビューも、JSPではなく、Scalaを使って記述をします。JSPのタグを使わないため、HTMLのデザインツールなどでレイアウトが崩れたりすることもありません。
●Tomcatよ、さらば!
サーバーサイドJavaの開発となると、まずTomcatをインストールして……となりますが、Play Frameworkではサーブレットを一切使わないため、Tomcatのようなサーブレットコンテナも用意する必要がありません。
Play Frameworkにはサーバー機能が内蔵されており、簡単なコマンドでサーバーを起動し実行することができます。つまり、別途サーバサイドJavaを動かすサーバー環境を用意する必要などないのです。
●コマンドで基本はすべて準備できる!
Play Frameworkには「play」コマンドというものが用意されています。開発に必要な機能は、このコマンドを使ってすべて実行することができます。例えば、新しいアプリケーションを作成したり、MVCのパーツを作成したりするのも、コマンドを実行するだけで自動的に必要なファイルが作成されるのです。サーバーの実行も、もちろんplayコマンドで行えます。
――要するに「コマンドであっという間にファイルが作れ、JSPだのサーブレットだのの知識も不要。Javaに似た簡単なスクリプトを書くだけでWebアプリが作れる」のがPlay Frameworkだ、というわけです。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
※下図――Play Frameworkに用意されているplayコマンドの実行画面。(後ほど利用します)
※関連コンテンツ