MozartはRuby/CoffeeScript製のソフトウェア(ソースコードは公開されていますがライセンスは明記されていません)です。

Webアプリケーションを構築する際にはJavaScriptは必須です。さらに一定規模を越えるとフレームワークが必要になるはずです。今回はその一つ、Mozartを紹介します。

[![](http://images.moongift.jp/2013/07/Screenshot 2013-07-21 8.59.44_thumb.1374493952.png)](http://images.moongift.jp/2013/07/Screenshot 2013-07-21 8.59.44.1374493952.png)
デモアプリケーションのテトリスです。

[![](http://images.moongift.jp/2013/07/Screenshot 2013-07-21 9.00.47_thumb.1374493958.png)](http://images.moongift.jp/2013/07/Screenshot 2013-07-21 9.00.47.1374493958.png)
キーボード、描画、他のオブジェクトとの関連性の管理などがされています。

[![](http://images.moongift.jp/2013/07/Screenshot 2013-07-21 9.00.50_thumb.1374493962.png)](http://images.moongift.jp/2013/07/Screenshot 2013-07-21 9.00.50.1374493962.png)
ちゃんとブロックも消えます。

Mozartの主な機能はハッシュベースの履歴管理(pushState)、レイアウト管理、リレーション付きのモデル管理、テンプレート、同期/監視/通知の管理などがあります。100%CoffeeScriptで作られているとのことです。なお、対応ブラウザはChrome/Firefox/Safari/Opera/IE8以上となっています。

MOONGIFTはこう見る

MozartはjQueryやUnderscoreとも連携できるとのことで、既存のナレッジを活かして開発に取り組めそうです。さらにコマンドラインによるモデル、ビュー、コントローラの生成もあり、Jasmineベースのテストフレームもあるなどフルスタックなフロントエンドフレームワークと言えそうです。

ちょっとした機能を追加する場合はjQuery、Webアプリケーションレベルになった時にはMozartのようなフレームワークが必要になってくるでしょう。幾つもあるフレームワークだけに、その違いや特徴を掴んでおくのは大事になりそうです。

Mozart

bigcommerce/mozart