0

Windows ストア アプリケーションの開発に適したフレームワークはどれですか?

http://metroprism.codeplex.com/を使用しましたが、別のプロジェクトで Caliburn.Micro または MVVM light を使用したいと考えています。

これらのフレームワークのアプリケーション例をいくつか調べましたが、大規模なプロジェクトでの使用を見積もるほど複雑ではありませんでした。

これら2つは完全に文書化されていますが、問題はwinrtの文書がWP7、Silverlight、およびWPFと混在していることであり、Windowsストアアプリケーションに正確に使用するすべての機能と慣行をサポートすることに少し疑問があります.

どちらが良いかアドバイスいただけませんか?または、WPF や Silverlight の Prism のようにモジュール性をサポートする Winrt の開発における優れたプラクティスは何ですか。ありがとう。

4

2 に答える 2

6

MVVM Light と Caliburn.Micro は基本的に同じことを行いますが、MVVM では相反する「開発哲学」を使用しています。

MVVM Light は「ビュー ファースト」のアプローチです。このアプローチでは、ViewModel は View によってインスタンス化されます。MVVM Light では、これは ViewModelLocator と呼ばれるものを介して行われます。これは、パブリック プロパティをビューの DataContext に直接バインドする静的クラスです。

Caliburn.Micro は、「ビューモデル ファースト」のアプローチです。ここでは、viewmodel とビューが、2 つを結合する IOC メカニズムによって作成されていることがわかります。ViewModel へのナビゲーションに応答して生成されるビューを使用して、ViewModel から ViewModel に移動します。

どちらも異なる機能を持っています:

MVVM Light には、ビュー モデルが疎結合の方法で相互に通信できるようにするための非常に優れたメッセージング システムがあります。

MVVM Light には、デザイン時のデータをビューに挿入するための非常に単純なメカニズムがあります。基本的に、ランタイム サービスを、データをビューモデルにフィードし、ビューモデルにフィードするデザインタイム サービスに置き換えます。これにより、設計時のデータが非常に使いやすくなります。

Caliburn.Micro には驚くべきデータ バインディング設定があり、データ バインディングの足場のほとんどを処理します。基本的に、メソッドとプロパティの名前をビュー内のコントロールの名前にマップし、それらを自動配線します。これにより多くのコードが節約され、非常に優れた機能です。

Caliburn.Micro は、「Convention over Configuration」メカニズムを使用して、ビューをビューモデルにマップします。MainView は MainViewModel などにマップされます。これは、構成がないことを意味します。命名規則が整理されていることを確認するだけで済みます。

私は両方のフレームワーク (WP7 用の Caliburn.Micro と Windows 8 ストア アプリ用の MVVM Light) を使用してきましたが、さまざまな理由からどちらも気に入っています。MVVM Light の方が使い始めやすいですが、Caliburn.Micro の方がおそらく強力です。どちらも、適度に複雑なアプリケーションをすばやく作成するのに十分すぎることがわかりました。

于 2012-11-16T16:38:55.267 に答える
1

Caliburn.Micro は、いくつかの魔法を犠牲にして、クリーンな XAML を提供します。MVVM Light は、理解しやすく、うまく機能するクリーンでシンプルなフレームワークです。Prism は MVVM Light よりも少し重いようで、よりビジネス アプリ指向です。MVVM だけではありません。考慮すべきことがたくさんあります。既に知っていることを選択すると、機能の追加に集中できますが、新しいフレームワークを学ぶことは、将来の選択に役立つ良い学習経験になる可能性があります。独自のフレームワークを作成して、必要なものだけを含めることもできます。それは私が知っていることなので、私は通常、独自のロールとMVVM Lightの間のどこかに行きます. カリバーンは使っていません。マイクロは、さまざまな MVVM アプローチの目新しさがなくなり、アプリを作成したいだけだからです。WinRT を使用すると、独自のフレームワークを展開するアプローチが以前のどのプラットフォームよりも簡単になりました。ミニマルな MVVMブログ投稿。MVVM を既に試していて、必要な部分だけを使用したい場合は、このアプローチをお勧めします。フレームワークはアプリと共に成長します。必要に応じて他のフレームワークからコードの一部を取得するか、必要なパターンの独自の実装を作成することができます。

要約する

  • 学びたい場合は、試したことのないものを試すか、独自のフレームワークを作成してください
  • アプリをすばやく作成したいが、それが巨大なアプリではない場合 - 知っていることを使用するか、最小限に抑え、テンプレートから取得したもの以外は何も使用しないでください。
  • 多くの機能を備えた大規模なアプリを構築している場合は、Prism を検討するか、Windows ストアが適切なターゲット プラットフォームであるかどうかを最初に検討してください。
于 2012-11-16T16:41:07.170 に答える