Durandal は、クライアント側の SPA Web アプリケーションに MV* フレームワークを提供するという点で Angular に似ています。
Angular は、すべてではないにしてもほとんどがカスタム コードですが、Durandal は主に Knockout と RequireJS (Sammy の依存関係は 2.0 リリースで取り除かれました) の既存のライブラリを使用し、ビュー/ビュー モデルの構成とハッシュタグ (スパ) ナビゲーション。
Knockout に関しては、Durandal は Knockout に大きく依存してビューとビュー モデルを構成します。ビューが DOM に挿入されると、ビューとビュー モデルは自動的にデータ バインドされます。これの利点は、Knockout を使用して V/VM データ バインディングを提供できることです。Durandal に、使用する v/vm を特定し、サーバーから取得して、現在の画面に構成する作業を任せることができます。
言い換えると、Durandal は、ビュー/ビュー モデルをハッシュ タグ ベースのルートにマップする方法を提供し、SPA ナビゲーションを提供します。shell
、またはレイアウト、ビューをメイン ビューとして指定することにより、Durandal が基本的に「スクリーン プレゼンター」パターンを実装するために使用するプレースホルダーを追加できます。Durandal は URL の変更をリッスンし、現在の URL ルートに一致するビューを自動的にアクティブ化し、データ バインド (Knockout を使用)、および表示することができます。
WPF に精通している場合、Durandal は Prism のような機能を主な提供物として提供するものであり、Web 用の単一ページ アプリケーションの構築をサポートするように設計されたその他の優れた機能を備えていると考えるかもしれません。