これらのライブラリ/フレームワークの名前はすべて、文字 R/N で始まるか、非常によく似ています。刺激は保証されています:
反応/還元 | フラックス | ngrx| @ngrx/ストア | RxJS/ReactiveX | MVI | ....
誰かがこの狂気を見抜くことができますか? 私が間違っている場合は、私を助けてください:
Reduxは、JavaScript アプリの「予測可能な状態コンテナー」であり、 Fluxの軽量実装です。私は言うことができます: これは Angular2 のフラックスの標準実装ですか? (ただし、 Angular2 を使用しない redux に関する優れた学習ビデオもあります。)
Fluxは、Facebook がクライアント側の Web アプリケーションを構築するために使用するアプリケーション アーキテクチャです。一方向のデータフローを利用することで、 React (ReactJS)の構成可能なビュー コンポーネントを補完しかしフラックスは単なるパターンであり、実装ではありません。
React (ReactJS)はAngular2 (angular.io)の主な競合相手ですが、フレームワークというよりは大きなライブラリです。
Reactive Extensions for JavaScript (RxJS)は、非同期データ ストリームを操作できるようにするリアクティブ ストリーム ライブラリです。それは反応宣言の目的を追求し
Angular2 には独自の Reactive Extensions があり、それらはNgrx (Angular2 の Reactive Extensions) と呼ばれます。
次に@ngrx/storeのようなものがあります。これは、Redux for Angular 2 アプリに触発された RxJS を利用した状態管理です。おっとデイジー!
Flux の代替として、André Staltz は、 Cycle.jsの基礎として使用する RxJS Observables に基づく単方向のModel-View-Intent (MVI) アーキテクチャを提示しました。Angular 2 には双方向のデータ バインディングの形式がありますが、データ フロー アーキテクチャは規定されていません。その売りの特徴の 1 つは、パターンにとらわれず、MVC または Flux アーキテクチャで動作することです。したがって、適切なパターンを選択するのは開発者次第です。>>ソース