10

これらのライブラリ/フレームワークの名前はすべて、文字 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 アーキテクチャで動作することです。したがって、適切なパターンを選択するのは開発者次第です。>>ソース

4

1 に答える 1

6

React と Angular

Reactはビューをレンダリングするためのライブラリにすぎません。Angularはプラットフォーム全体です。これらは異なる問題を対象としているように見えるかもしれませんが、通常は、Web アプリケーションで作業する際に両方を選択することになります。

何故ですか?React を React + エコシステム全体 (ルーター、フォーム ライブラリ、状態管理など) と考えることが多いからです。

Flux と Redux

Flux/Reduxは React に関連付けられることが多いことがわかりますが、それは正確には当てはまりません。FluxReduxは、アプリケーションの状態管理のアイデアにすぎません。ただし、 Redux (現在最も人気があります) には独自の実装があり、現在は React の公式ライブラリの 1 つです。他のフラックスの実装もあります。

リアクティブプログラミング

それはパラダイムです。これを実行することを強くお勧めします。長いですが、それだけの価値があります。

RxJS と @ngrx

Angular はコアの内部でストリームを使用して、変更検出を管理します。繰り返しますが、ストリームは単なるアイデアですが、RxJSはそのアイデアの実装の 1 つです。@ngrxは、RxJS の上に構築された一連のヘルパーです。それらの 1 つは、 @ngrx/storeと呼ばれる Redux にインスパイアされた状態管理の実装です。

MVI

これは、 Cycle.jsによってプッシュされるアプリを構造化するための (MVC のような) アーキテクチャ パターンです。ここでは、 Cycle.jsの作成者である André Staltzによる単方向 UI アーキテクチャの優れた説明を紹介します。

于 2016-06-24T13:15:39.193 に答える