[解決済み】MVVMのフレームワークは何を使えばいい?[クローズド]
質問
MVVMモデルでアプリケーションを開発していますが、どのフレームワークを使うか選択しなければならない段階になりました。
考えられる選択肢の中に
- MVVMツールキット
- MVVMファンデーション
- WPFアプリケーションフレームワーク(WAF)
- ライトMVVM
- カリバーン
- シンチ
- プリズム
- ReactiveUI
経験上、どちらが良いのでしょうか?
解決方法は?
それは、あなたが何を達成しようとしているのか、どれだけのインフラをすでに整えたいのか、さらに、あなたを助けてくれるサンプルを簡単に見つけられるか、に本当に依存します。私は、少なくとも1つのMVVMフレームワークに積極的に関与してきたし、WPF Disciplesグループを通じて他のフレームワークにも意見してきたので、少し偏見があります。というわけで、ちょっと偏った見方をしてしまいましたが、まあ、こんなところでしょう。
マイクロソフト MVVMツールキット - これはまだアルファ版の段階です。最初にリリースされたとき、それができないことで、弟子たちから少しばかり非難を浴びました。とはいえ、MSはこのフレームワークを強化しようとしているので、注目すべきものの1つです。
MVVMファンデーション - Josh Smithバージョンのフレームワークです。JoshはMVVMの生みの親の1人であり、このパターンの大きな擁護者であり教師です。その結果、他のフレームワークで見られるものの多くは、Joshの指紋が至る所にあります。このフレームワークは、MVVM の基本を提供することを意図しており、より難解な問題に対処することはありません。元々はWPFのみを対象としていましたが、Laurent Bugnionや私のような人々が機能性やプロジェクトを追加したため、Silverlight互換のフレームワークにもなる予定です。
WAF - このような場合、「SkyDrive」を利用したことがないため、残念ながらコメントできません。
MVVMライト - Laurent Bugnionのテイクで、バージョン2に更新されたばかりです。これは非常に優れたフレームワークですが、やはりMVVMアプリケーションのあらゆる側面をカバーすることを意図しているわけではありません。Laurent氏の経歴からすると、SilverlightとBlendabilityを非常に強力にサポートしています。
更新情報 Laurentから、.NET 3.5と.NET 4.0のバージョンに機能互換性があるとの情報を得ました。ありがとうございます。
Cinch - Sacha Barberの優れたWPF専用MVVMフレームワーク。これは、私が上で話したフレームワークよりも多くの領域をカバーしています。これは優れたフレームワークで、Bill Kempfの素晴らしい『Cinch』でカバーされているコンセプトを活用している。 オニキス プロジェクトです。Onyxは、MVVMフレームワークを補完することを目的としており、MVVM/WPFでは通常困難であった機能を追加しています。また、当初はWPFのみを対象としていましたが、OnyxはSLとの互換性を含むようになり、私はこの仕事に携われたことを特に誇りに思っています。
プリズム - 繰り返しになりますが、私は使ったことがないのですが、良い話をたくさん聞いています。
オーシャン - Ciderチームのプログラム・マネージャであるKarl Shifflettは、最近、完全な機能を備えたWPF MVVMフレームワークをリリースしました。繰り返しになりますが、これは優れたフレームワークであり、推奨するものがたくさんあります。
要は、いろいろなフレームワークをダウンロードして見て、どれが自分の考え方や要件に一番直感的に合うかを見極めればいいんです。もし、同じコードベースからSilverlightをサポートしたいとお考えなら、WPFのみのフレームワークはお薦めしません。
関連
-
[解決済み] WPFのWPFFontCache Serviceの用途は何ですか?WPFFontCache_v0400.exeは、このexeが実行されている間、常に100 %のCPUを消費しています、なぜですか?
-
[解決済み] WPFとMVCは同じコンセプトなのか?
-
[解決済み] フレームワークとライブラリの違いは何ですか?
-
[解決済み】INotifyPropertyChangedとViewModelのDependencyPropertyの比較
-
[解決済み】1つのWPF TextBlockに複数の値をバインドする方法は?
-
[解決済み】WPFのコントロールテンプレートとDataTemplateの違いについて
-
[解決済み】デザインタイムのDataContextをWindowに設定すると、コンパイラーエラーが発生する?
-
[解決済み】WPFとイニシャルフォーカス
-
[解決済み】WPFで逆ブーリアンプロパティをバインドする方法は?
-
[解決済み] MVVMテンプレートの好例
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] WCFとWPFの違いは何ですか?
-
[解決済み] LabelとTextBlockの違い
-
[解決済み] WPFでボタンを無効にする?
-
[解決済み] XAMLで名前が名前空間に存在しないエラーが発生する
-
[解決済み】WPFのコントロールが利用可能なスペースを埋めるようにするにはどうすればいいですか?
-
[解決済み】WPFのテキストブロックを選択可能にする方法はありますか?
-
[解決済み】Window Height="Auto "が期待通りに動作しない。
-
[解決済み】WPFのコントロールテンプレートとDataTemplateの違いについて
-
[解決済み】WPFデータグリッドの下部に空の行が表示される。
-
[解決済み】WPFで逆ブーリアンプロパティをバインドする方法は?