|
|
|
|
インスコ手順
1. scalaこれからはじめる人は2.8系(まだRCだけど)がお薦めです。(2.7 からいい感じに進化してるので)。ディストリのパッケージはまだ2.7系のはずなので、本家http://www.scala-lang.org/downloads から取ります。
scala と打って、console が立ち上がればOK。(終了はCtl-dで)
2. play frameworkこれも開発中バージョンですが高機能なので1.1系を入れます。但し、nightly build (毎晩の適当パック)なので当たり外れが大きいので、これは最新版よりも一番動作報告が多い 1.1-r881 がお薦めです。(私もこれを使っています)
この play-1.1-unstable-r881/bin にも PATH を通します (playコマンド用) [訂正] 「PATHを通すのは play-1.1-unstable-r881/bin ではなくて play-1.1-unstable-r881」 でした。(thx iwamot)
3. play scala moduleplay コマンドは rails コマンドみたいなもので、project を新規に作ったりします。(server の起動とかもできるので merb の方により近い)。そして、play 用の module をインストールするのにも、この play コマンドが使えます。便利です。インストールするのはもちろん scala モジュールです。以下のコマンドはどこで実行しても大丈夫です。
「scala-0.3を入れるか?」と聞いてくるので "y" で。これで、play を入れたディレクトリの modules の下に scala-0.3 が入ったはずです。 |
新しいプロジェクトを作成します。サブコマンド名は "new" です。プロジェクト名は適当に "hello" あたりで。ここで、
% play new hello |
と実行すると、通常の Java 用の開発環境が作成されてしまいます。(scala) module を有効にするには "with" で指定します。
% play new hello --with scala |
アプリケーション名を聞かれるので、ここも "hello" ぐらいで。(この辺まだ理解できてません)。これで hello ディレクトリが作成されて、scala 用の設定になっています。
ディレクトリ構造は rails 互換なので安心です。app/controllers/Application.scala を見て、短っ!と言うのも一興でしょう。というか、ファイル名がクラス名と同じ大文字になってるのが新鮮ですね。AS的な命名規則はないので、違う名前でも動くはずです。が、慣れるまでは一緒にしておくのが無難でしょう。
もう1点 rails と違う点は、Application は抽象クラスでなく、実コントローラという点です。ということは、既にページがあるということなので、早速起動して確認してみましょう。(サンプルドキュメントを表示するアプリケーションとして稼動可能になっています)
% play run |
で foreground で起動します。デフォルトポートは 9000です。(conf/application.confで変更可能)
で無事にページが見えましたね。ルーティングは conf/routes で制御され、この中で
GET / Application.index |
が指定されています。同 index アクションは、render() が呼ばれ、rails と同じようにapp/views/Application/index.html が評価されます。でもコンテンツの実体は、その index.html の中で、さらに welcome タグが参照されて、そのタグは play framework の
あたりまで飛んでいってて、そこの welcome.html ぽいんですが、自前で tag を作る方法とかはまだ理解できてません。誰か教えて下さい。
play framework ではブラウザ上からテストをすることが可能です。先ほどは play run で起動しましたが、play test を実行すると test 環境での実行になります。test 環境下では、
という謎の URL にアクセスすると、ブラウザ上にテスト画面が開きます。ここで、テストしたい spec ファイル名を個別に選択すると(「unit test」「function test」単位でも可)、上の「Start」リンクが実行可能になって、あー、楽しい!Selenium まで標準装備だなんて、rails を真似るどころか、あっという間に最先端のフレームワークになってる感じです。
scala-0.3 には待望の console コマンドが追加されました。"play scala:console" コマンドによって、play 環境の REPL が立ち上がります。通常のREPL(scalaコマンドによるconsole)は、対話的な実行には向いていますが、ある程度のファイル(群)を扱うには少し不便です。そこで play scala をwebフレームワークとしてではなく、scala の勉強用途に使うのもありだと思います。
これが、優しい scala の学び方。
app/models/AKB.scala
mayuyu.xml
言語に組み込みなせいか、すこぶる楽ちん。 scala の XML の扱いやすさは異常 test/AKBTest.scala
あ〜ん、可愛い〜!この赤を早く緑にしてあげたい♪
参考 |
| JRuby | Rails | Berryz | ℃-ute | エッグ | jQuery |
| 前 | 2010年 5月 |
次 | ||||
| 日 | 月 | 火 | 水 | 木 | 金 | 土 |
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 | 31 | |||||
play frameworkに触りはじめたばかりなので、とても参考になりました。細かいですが、PATHを通すのは play-1.1-unstable-r881/bin ではなくて play-1.1-unstable-r881 ですよね。