/play-js

Play FrameworkとJavaScript

Primary LanguageScalaOtherNOASSERTION

Play + JavaScript

このプロジェクトはサーバサイドは Play Framework で、クライアントサイドは gulp + webpack + babel で作成するパターンのサンプルです。

クライアントサイドプロジェクトは ui フォルダに展開する Git サブモジュールです。詳しくは https://github.com/itoasuka/cs4pf を参照してください。

sbt で gulp をキックする部分は この記事まるパク参考にさせていただきました。

開発での使い方

sbt run

で、play が開発モードで起動するわけですが、同時に browser-sync も起動します。

ブラウザで動作確認する場合は、http://localhost:3000/ にアクセスしてください。browser-sync 経由となり自動リフレッシュ機能の恩恵を得ることもできます。

テスト

テストは、ScalaTest で書きなおしています。また、ブラウザによるテストは HtmlUnit ではなく Chrome と Firefox を使用します。また、Scoverage によるカバレッジを取得します。

sbt clean coverage test coverageReport

test タスクを実行すると、クライアントサイドの gulp build も実行します。これによってサーバサイド主導の Selenium によるテストでもクライアントサイドのアーティファクトを使用することができます。

なぜ Scala.js を使わないのか?

Scala.js いいと思うし、Isomorphic の夢も見ているけど、いまだ JavaScript のライブラリを使おうという動きが中心的で、JavaScript の進化の速さについていってないのが残念なので使わない。