既存のライブラリとも連携できるJavaScriptフレームワーク「CanJS」
CanJSはJavaScript製のオープンソース・ソフトウェア(MIT License)です。
大型のWebアプリケーションを構築しようと思ったら、まずはJavaScriptフレームワークを探しましょう。幾つもの候補が見つかると思いますが、今回はその一つCanJSを紹介します。
[](http://images.moongift.jp/2013/07/Screenshot 2013-07-22 9.38.21.1374494063.png)
CanJSはMVCフレームワークになっており、Backbone.jsに似ています。こちらはモデル。
[](http://images.moongift.jp/2013/07/Screenshot 2013-07-22 9.38.32.1374494066.png)
コントローラ。イベントを指定して、それを処理してビューに返す処理を行っています。
[](http://images.moongift.jp/2013/07/Screenshot 2013-07-22 9.38.41.1374494069.png)
ルーティング。URLによってアクションを指定しています。
[](http://images.moongift.jp/2013/07/Screenshot 2013-07-22 9.38.49.1374494072.png)
こちらはビュー。Mustacheが使われています。
CanJSの雰囲気としては、コントローラとビューがBackbone.jsよりも密に結合しているように感じます。特徴として、jQuery/Dojo/Mootools/YUI/Zeptoといった既存のライブラリと共存できること、テンプレートエンジンについても自分で選択できる点があります。
MOONGIFTはこう見る
JavaScriptのMVCフレームワークが数多く登場してきました。Railsのようにフルスタックで実装されるものもあれば、薄い層だけで構築されてテンプレートエンジンなどは自分で選択できるものもあります。
サーバサイドのエンジニアにとっても無関係ではありません。殆どのフレームワークではモデルの扱いをRESTfulにしています。その際にやり取りされるのはJSON/JSONPになります。サーバ側の開発においてRESTfulはスルーできない存在になっていると言えそうです。