Web開発者はBackboneやKnockoutのようなクライアントサイドのライブラリを使ってクライアントサイドのコードをしっかりと構造化し、より優れた体験を提供できる。いくつかのリソースを紹介しよう。
DOMの操作に注力しているJQueryとは違い、Backbone.jsとKnockout.jsはコードの関心事の分離を重きを置き、モデルとUIの要素を分離する。Backbone.jsを使うとMVCのような構造を作り、RESTfulな永続化機能を利用できる。モデルはデータをビュー(View)から分離し、ルーター(Router)はクライアントページ間のルーティングを提供する。一方、Knockout.jsはHTML要素とモデルの宣言的バインディング(XAMLバインディングに似ている)を利用でき、依存性を追跡できる。これによってMVVMパターンを利用した開発ができる。このふたつのライブラリは他のMV*パターンも利用できる。
次に紹介するのはこれらのライブラリを使い始めるために利用できるリソースだ。
- Steve Sanders氏によるKnockoutの20分のプレゼン
- Knockoutのチュートリアル
- Backboneのチュートリアル
- Backbone.jsとASP.NET Web APIを使ったSPAのサンプル
- backboneを利用するときのヒント
- knockout.jsを使ったASP.NETの開発のPluralsightのコース
このふたつだけが使えるライブラリ/フレームワークではない。他にもいくつかあり、今月の始めInfoQでも調査している。また、Steveが8つのJSの人気のフレームワークを各ライブラリの方向性を面白い視点で比較しながら紹介している。
ASP.NETチームはASP.NET SPAの開発も続けている。これはMVC 4に同梱されると思われていたが実現しなかった。現在はプレビューとして公開されている。