「むしろサーバ初心者にオススメな Play 2.x Java」という発表をしてきた


Play framework Advent Calendar 2014の12日目(おい)です。
今頃書いてごめんなさい。

今回は、Playというものをまだ触ったことがない人のために書いています。

ちょっと前に月刊ライトニングトークというイベントが行われました。
IT系のでもいろいろなジャンルが雑多に展開されるLT大会なイベントです。

ここで急きょ飛び入りで「むしろサーバ初心者にオススメな Play 2.x Java」という発表をしてきました。

参加者はバックエンド系というよりはフロントエンド系な方々が多かったので、こういったタイトルにしています。

個人的には結構真面目に、バックエンドがそれほど得意でない方にオススメなのがPlay frameworkだと思っています。特にJava版ならJavaの入門書は山ほどあるし、調べてわからないことがあるというケースはそうそうないでしょう。

確かにPlay界隈は初心者だけでなくScalaでガチな方々も大勢いらっしゃいますが、そういうガチな用途だけでなく、フレームワーク全体に流れる思想に「なるべく間違いが起きにくくなるようにする」という部分が数多く感じられ、それは間違いやすい初心者の人にもきっと得られる恩恵だろうと感じたからです。

実際は3分くらいしか時間がなかったのでActivatorと呼ばれるビルドシステム(実行可能な状態にするツール)+エディタ+テストおよび実行ツールみたいなプラットフォームのデモに終始しました。

おすすめな理由その1:圧倒的に全部入り

Playの特徴の一つにフルスタック(全部入り)さというのがありますが、フルスタック具合はなかなかのものです。

まずフレームワークに、ブラウザ上でコードの編集からビルド、ユニットテスト(自動テスト)、実行まで行えるエディタが標準装備しています。

まず、こういうタイプのフレームワークはなかなかありません。

加えて、フレームワークにWebサーバが標準装備という点も魅力です。フレームワークについてくるWebサーバというと、開発用にしか使えない程度のサーバだったりしますが、Playについてくるのは、結構大規模なサービス運用でもガチで使えるようなシロモノです。つまり、動かしたものをそのまま本番環境に持っていける。

加えて、テストツールとテスト用のデータベース、ビルドツール、テンプレートシステム、IDE(統合開発環境。IntelliJ Ideaとか)用プロジェクト作成、並行並列処理のフレームワークなどがセットでついてきます。

ちょっと試す程度ならエディタすら用意する必要がないくらいに環境が整っているというわけです。必要なのはJavaのSDKくらいでしょう。

上記がまずオススメの一つ、環境編です。

おすすめな理由その2:間違いにくい

もう一つオススメなのが、「なるべく間違いが起きにくくなるようにする」という思想に裏付けられた数々の仕組みです。
とにかく初心者はよく間違えます。

たとえば、コントローラ(Webからリクエストをうけとってハンドリングする部分)からビュー(表示用テンプレート)になにかの情報を渡すとします。

しかし、実際は表示させた画面には何も出てこない。。
受け取るはずだった変数名が違っていたり、受け渡し漏れがあったりとかあるかもしれません。

Playだとこういうことは起きません。なぜかというと、ビューに渡される変数の型、数とコントローラからの呼び出し方が一致しないと、そもそもコンパイルエラーとなるからです。
これにより、ビューをどんどんカスタマイズしていくときに起きがちな変数の受け渡し漏れを防ぐことができます。

これういった仕組みは、URLルーティングにも使われており、IDEで作業するときにいちはやくミスを発見することにつながっています。

ということで冬休みPlayにトライしてみてはいかがでしょう。

Comments are closed.