web-dev-qa-db-ja.com

React代替案

アプリケーションではイベントドリブンJavaScript MVCフレームワークを使用していますが、より大きなデータセットではパフォーマンスの問題があります。問題を軽減するためにReactで使用されているものと同じ手法の多くを実装しましたが(間隔でレンダリングし、データの状態を比較し、変更内容のみを更新します)、実装の道を進んでいるのではないかと心配しています。独自の完全ではないフレームワーク。データ量の多いUIにReactを採用する前に、代替手段は何ですか?

24
noah

チェックアウト RiotJS 。それは超軽量(ほんの数キロバイト)で、はるかに使いやすいです。

Riotは、IE8を含むすべてのブラウザーにカスタムタグを提供します。 React + Polymerですが、楽しい構文と小さな学習曲線を備えています。

33
Steel Brain

奇妙なことですが、まだ誰も言及していません Vue.js
Vue.jsは、インタラクティブなWebインターフェースを構築するためのライブラリです。シンプルで柔軟なAPIを備えたデータ対応コンポーネントを提供します。
Awesome Vue.js -Vue.jsに関連するすばらしいものの厳選されたリスト
今トレンドです!

24
vitr

より良い状態管理のために、Reactの上にいくつかの層を考慮することができます。

  • Om は、ClojureScriptに問題がない場合に便利なライブラリです。作成者の blog で詳細を確認できます。
  • Quiescent -Reactに対する軽量のClojureScript抽象化。
  • Reagent -Reactへの最小限のClojureScriptインターフェース。
  • Morearty.js -純粋なJavaScriptでのReactの集中状態管理。

これらのライブラリは、不変のデータ構造を使用して状態を表し、高速===演算子を使用して比較を行う各コンポーネントのshouldComponentUpdateメソッドを定義します。この最適化により、重いUIの速度が向上しますが、正常な状態管理機能は、コードの整理とサポートに非常に役立ちます。私の経験から、コンポーネント全体に散在する可変状態を管理することは非常に困難です。

10
Tvaroh

最近発見した Dek

4
ReDetection

もちろん、最もよく知られているのは Angular JS であり、これはGoogleによって管理されています(重要ではないが、FacebookがReactを作成していることを考えると、興味深いと思いました)。 2つの詳細な比較については、 このリンク を参照してください。

その他のオプションは次のとおりです。

3
hkk

あなたは試すことができます http://www.ractivejs.org/ 、それはちょうどFacebookの反応と同じように同じ仮想DOMの概念を使用します

ractive blogからの引用 http://blog.ractivejs.org/posts/whats-the-difference-between-react-and-ractive/

最も顕著な類似点は、仮想DOMの使用でした。 Ractiveのように、Reactは、DOMの抽象的な表現を作成することで、実行する必要があるDOM操作(ほとんどのWebアプリケーションでのボトルネック)の量を最小限に抑えることで、超高速の操作が可能になることを発見しました。また、他のツールのユーザーが採用しなければならなかったクレイジーなハックの一部なしに、サーバー側のレンダリングを容易にします。

3
blue jedi

既存のコードをダンプする前に、React=をビューレイヤーとしてMVCアプリケーションに統合してみてください。たとえば、バックボーンの統合は非常に簡単です。

Reactの代わりに、MVCで "V"のみを提供する、本番環境に対応した代替手段はないようです。 興味深いアイデア そこにあります。

質問に直接答えるために、 Mithril は仮想DOMを使用するMVCフレームワークであり、Niceドキュメントがあります。

多数の要素をレンダリングするときに既にパフォーマンスの問題が発生している場合、Angular、Ember、またはRiotJSなどに切り替えることは、修正への最も直接的なパスではない可能性があります。

更新

Dek および CycleJS もオプションです。

2
Max Heiber