2013-07-10 10 views
12

タイトルはそれをすべて言っています。あなたの経験に基づいて、両方のフレームワークの主な違いは何ですか? もう一方を使うべきときは?ReactiveUI対MvvmCross

使用目的:クロスプラットフォーム開発(Windows 8、iOS、Android、WindowsRT、Mac)。

答えて

7

両フレームワークの主な違いは何ですか?

1つはリアクティブエクステンションの中央にあり、1つは従来のMvvmコーディングに基づいています。

これは排他的ではありません - ReactiveUIは非反応コードで使用でき、MvvmCrossは反応拡張で使用できます。

もう一方を使用する必要があるときは、

これらはどちらも素晴らしいフレームワーク(IMO)です。

フレームワークを使用するかどうかと、使用するかどうかは、あなたとあなたのチームにとって本当に重要です。

9

しかし、これは排他的ではない - 、ReactiveUIがさらに反応しないコードで

を使用することができますが、他のMVVMフレームワークと一緒にReactiveUIを使用することができ、あなたが一つにコミットする必要はありませんかもう片方。 WhenAnyなどのRxUIの多くのメソッドは、どのオブジェクトでも動作し、実行時にそれらに最適な接続方法を決定します。

RxUIは間違いなく7コースの食事ではなく、ビュッフェテーブルです:) MvvmCrossは確かにあなたのアプリの基盤となる素晴らしい選択です。チームを試してみると素晴らしいでしょうそれらが同じアプリで一緒に働く方法。レポートバック!

3

これは古い質問ですが、私は2セントを分けていきたいと思います。

私は、同じクロスプラットフォームソリューションで、iOS、Android、Windows用のMvvmCrossとReactiveUIの両方を使用しています。

私のソリューションはMvvmCrossに基づいていると言えますが、Appクラス、アプリケーションの起動方法、ViewModelのナビゲーションはMvvmCrossの方法に従っているからです。しかし、私はまたReactiveUIの主要な機能のいくつかを使用します。

  1. ReactiveCommand

    は、私は本当に、その自動無効化機能、それがボタンにバインドされています(CanExecute、IsExecuting)が好きです。

  2. ReactiveList、それは

    このリスト

    を得ていますが、私はObservalbeCollectionでMVVM、それが解決したほぼすべての私の痛みのポイントをプログラミングする人にはお勧めしたいと思いクラスです。 CreateDerivedCollectionの使用だけで、私のプロジェクトにReactiveUIを含めることができます。

  3. MessageBus

    は、私はメインスレッドをUIにその自動マーシャリングによって台無しにされたことを恐れています。タスクプールやUIスレッドの場合は心配する必要はありません。私はSendMessageを呼び出します。 、私は上記の機能を使用すると、彼らが反応しているかいないならば、私は気にしない

I(これはMvvmLightの実装は非常に異なっていると、それは私が2年前にMvvmLightを残した主な理由です、申し訳ありません)彼らは私のニーズによく合っているので、それらを使うだけです。 (実際にはReactiveCommandReactiveListMessageBusはすべて反応性です)

ReactiveUIのみを使用できますか?私も自分自身に質問しました。

  1. MvvmCrossプラグイン:私はMvvmCrossから何かを欠場すると思います。

    私はMvvmCrossから、いくつかのプラグインを使用して、私は実際に各プラグインはMvvmCrossとReactiveUIの両方に対応していたいです。 (おそらく彼らは、すでに私はすでにプラグインを処理するためにMvvmCrossを使用していますので、私はちょうどチェックしていなかった、です。)

  2. MvvmCrossのチュートリアル

    MvvmCrossやYouTubeの動画のチュートリアルがたくさんあります。私はそのようなことにどのくらいの努力を払っているかをイメージすることはできません。

    私は正直に言うと、MvvmCrossによってXamarinを学びます。 Mvxプレフィックスのない場合は、クラスがMvvmCrossまたはXamarinによって提供されている場合

  3. Xamarin

    とMvvmCrossの統合時々私が言うことができません。私のプロジェクトをチェックしたところ、私のUIコードの基本クラスはすべてMvxSomething(私はXamarin.Formsを使用していません)です。私は基本クラスのMvxバージョンによって正確に何が提供されているのかわかりません、私はちょうどそれらを使用し、彼らは働いています。

私はまだ2つのフレームワークの両方を学んでいるが、私は、彼らが1日合併することができます願っています。

関連する問題