Beaglesoftではシステムの開発にScala + play frameworkを使用しています。これまでは.NETを主に使用してきたのですが、コストの問題からplay frameworkへ変更しました。
play frameworkはプラガブルなので、O/Rマッパーを使うもよし、SQLをごりごりかくもよしととてもバランスが取れていて開発スピードを高めるためにはよいフレームワークです。
このplay frameworkをScalaで開発する場合、今も昔も基本的には公式サイトとチュートリアルが重要です。
Documentation: Home — Playframework
チュートリアルの内容はplay frameworkを操作する上で必要になる情報がちりばめられており、必要に応じてソースコードを参照できます。
ただ、これとは別に書籍でも最近はよいものが出ています。
Scalaについて書かれた書籍ではあるのですが、この書籍の13章はplay framewokについて説明してあります。私も開発の時わからないことについてはこの書籍を適宜参考にします。
項目をピックアップしてみます。
- Play2を使いたい
- Play2で作成したWebアプリを運用環境で実行したい
- Play2のコントローラを実装したい
- Play2のルーティングについて知りたい
- Play2のコントローラでリクエストパラメータを取得したい
- Play2でフォームを定義したい
- Play2でフォームに対応したビューを作りたい
- Play2のフォームで高度な入力チェックを行いたい
- Play2のコントローラーで共通処理を行いたい
- メッセージを国際化したい
- Play2でファイルアップロード機能を実装したい
- Play2でファイルダウンロード機能を実装したい
- Play2でセッションを使いたい
- Play2でJSONを使いたい
- Play2で外部のWebAPIを呼び出したい
- Play2でキャッシュを使いたい
- Play2でHTMLテンプレートを使いたい
- Play2でテンプレートを共通化したい
- Play2でデータベースにアクセスしたい
- AnormでSQLを実行したい
- Anormで検索結果をケースクラスにマッピングしたい
- Play2でAnorm以外のデータベースライブラリを使いたい
- Play2でWebSocketを使いたい
と、結構実際に使いたい項目がピックアップされており重宝します。
play frameworkもいよいよバージョンが2.1に近づいてきました。大手ではScalaを利用しているという話はあまり聞きませんが、Scalaもとてもバランスの取れた言語だと思います。今後の発展がとても気になりますね。