AngularJSはあくまでクライアントサイドのフレームワークなので、サーバサイドをどうしようかなーと悩むことがあると思います。Railsが得意ならRailsに組み込むのもいいんですが、Railsはビューヘルパーが異様に充実しているので、Rails上でAngularJSのコードを書いてるとRailsの良いところが10%も生かせてない気がして辛い気持ちになってきます。うーん、どうしよう。
そんな風に悩んだらYeomanのgeneratorであるgenerator-angular-fullstackを使えば良いと思います。
導入の仕方
npmでinstallするだけで使えるのです。
npm install -g generator-angular-fullstack mkdir my-new-project && cd $_ yo angular-fullstack [app-name]
generateした後はgrunt serve
すればサーバが立ち上がって、画面を見られるようになります。お手軽ですね。
更にシビれることに、Herokuへのデプロイに対応しています。yo angular-fullstack:deploy heroku
と打つと、Herokuにデプロイするためのdist
ディレクトリが生成されます。これをgit push heroku master
としてHerokuにpushすれば、AngularJSのWebアプリケーションがデプロイ出来てしまうというわけです。お手軽ですねー。
フルスタックというけど、どんなものがスタックされているのかな?
- HTML5 Boilerplate(html5向けテンプレート)
- AngularJS(あんぎゅらー!)
- Karma(Test Runner)
- Express(node.jsのWebアプリケーションフレームワーク)
- MongoDB + Mongoose(DB)
- Passport(node.jsの認証ミドルウェア)
お好みでjadeというhtmlテンプレートエンジンや、みんな大好きCoffeeScriptを使うこともできます。
認証機能が最初から組み込まれているのが大きなメリット
Passportが最初から組み込まれているので、いちいち認証系の機能を書かなくて良い所がメリットです。Webアプリケーションを立ち上げるのに必要十分な機能が入っていると言えます。OAuth認証もPassportを使えばサクっと組めますね。
リッチなWebアプリケーションを作るのがはじめてなら、ここからはじめるのも良い選択肢だと思います。