Tower.jsはフルスタックのnode.js用Webアプリケーションフレームワークです。

こ、これはやばい…。ついにnode.jsの時代が来るかもしれない、そう感じさせるWebアプリケーションフレームワークがTower.jsです。


インストールはnpmで簡単にできます。


まず新しいアプリケーションを作成します。


Scaffoldで簡単にコントローラ、モデル、ビューを生成。


生成された際の構成はこんな感じです。


towerコマンドのオプションです。


Webサーバを立ち上げ場合です。

Tower.jsはMongoDBをデータベースに、Redisはバックグランドジョブ、CoffeeScriptをメインの記述に使いつつ、Jasmineをテストフレームワーク、jQueryも使えるフレームワークです。メール、マイグレーション、MVC、RailsばりのO/Rマッピング、バリデーション、ルーティング、Bootstrap対応のHTML出力、アセットなど実に多様な機能が揃っています。

Tower.jsはnode.js製のオープンソース・ソフトウェア(MIT License)です。

MOONGIFTはこう見る

RubyがWebアプリケーション開発で一気にシェアを伸ばしたのは間違いなくRuby on Railsの登場があったからと言えます。それまでのフレームワークはMVCの基本だけを押さえて、各ライブラリは自由に選択できるのが一般的でした。そんな中、フルスタックで面倒みてくれるRailsの存在は衝撃的だったと言えます。

その時に似た衝撃をTower.jsからは感じられます。DBがMongoDBというところが今風である他はルーティングやバリデーションなど一通りのニーズに応えてくれるものになっています。後はnode.jsの実行環境だけでしょう。日本ではまだ見たことがありませんが、Herokuやno.deなど海外ではプレーヤが既に多数揃っています。日本でも近く登場してくるかも知れません。

Tower.js - Full Stack JavaScript Framework for Node.js and the Browser