MVVMは、WebおよびXAMLベースのテクノロジーでうまく機能します。XAML techは、組み込まれているすばらしいバインディング機能に優れています。ただし、Knockout(優れた機能)やJsViews / JsRender(JsViewsがベータ版になったら調べる必要があります)などのJavaScriptライブラリを使用します。
具体的に答えると、はい、WebアプリでMVVMを実行できます。いいですか?はい、Knockout(http://knockoutjs.com)のようなライブラリを使用している場合は可能です。MVVMの鍵は、次のような単純な分離パターンにあります。
- ビュー(ページ)を分離します
- モデル(生データ)を分離します
- ビューモデルを分離します(プレゼンテーションロジック)
MVVMによって規定されたテクノロジーはどこにもありません。ビューはあなたのhtml、あなたの構造です。モデルはデータ(おそらくJSON)です。ビューモデルは、特定のビューのロジックを分離するjavascriptオブジェクトです。
Knockoutは、オブザーバブルと呼ばれる概念を通じて、今日のデータバインディングの手段を提供します。基本的に、これはINotifyPropertyChangedインターフェイスのように考えますが、JavaScript用です。Knockoutは、observableArray(XAMLのObservableCollectionに似ています)もサポートします。Knockoutには、データ変更イベントのサブスクライブ、ビヘイビアーの作成、カスタムバインディングなどを可能にする他の多くの機能があります。とにかく...ノックアウトを使用すると、かなりの量が得られます。
KnockoutなどのライブラリなしでMVVMを実行することを選択した場合でも、それを実行できますが、データバインディング機能が失われ、おそらく自分で何かを書きたいと思うでしょう。しかし、私はあなたのためにこれを行うライブラリに固執することを強くお勧めします。
長い答え...しかし、私はあなたに十分に探求を始めることを与えたかった。