アプリケーションではイベントドリブンJavaScript MVCフレームワークを使用していますが、より大きなデータセットではパフォーマンスの問題があります。問題を軽減するためにReactで使用されているものと同じ手法の多くを実装しましたが(間隔でレンダリングし、データの状態を比較し、変更内容のみを更新します)、実装の道を進んでいるのではないかと心配しています。独自の完全ではないフレームワーク。データ量の多いUIにReactを採用する前に、代替手段は何ですか?
チェックアウト RiotJS 。それは超軽量(ほんの数キロバイト)で、はるかに使いやすいです。
Riotは、IE8を含むすべてのブラウザーにカスタムタグを提供します。 React + Polymerですが、楽しい構文と小さな学習曲線を備えています。
奇妙なことですが、まだ誰も言及していません Vue.js
Vue.jsは、インタラクティブなWebインターフェースを構築するためのライブラリです。シンプルで柔軟なAPIを備えたデータ対応コンポーネントを提供します。
Awesome Vue.js -Vue.jsに関連するすばらしいものの厳選されたリスト
今トレンドです!
より良い状態管理のために、Reactの上にいくつかの層を考慮することができます。
これらのライブラリは、不変のデータ構造を使用して状態を表し、高速===
演算子を使用して比較を行う各コンポーネントのshouldComponentUpdate
メソッドを定義します。この最適化により、重いUIの速度が向上しますが、正常な状態管理機能は、コードの整理とサポートに非常に役立ちます。私の経験から、コンポーネント全体に散在する可変状態を管理することは非常に困難です。
最近発見した Dek
もちろん、最もよく知られているのは Angular JS であり、これはGoogleによって管理されています(重要ではないが、FacebookがReactを作成していることを考えると、興味深いと思いました)。 2つの詳細な比較については、 このリンク を参照してください。
その他のオプションは次のとおりです。
あなたは試すことができます 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アプリケーションでのボトルネック)の量を最小限に抑えることで、超高速の操作が可能になることを発見しました。また、他のツールのユーザーが採用しなければならなかったクレイジーなハックの一部なしに、サーバー側のレンダリングを容易にします。
既存のコードをダンプする前に、React=をビューレイヤーとしてMVCアプリケーションに統合してみてください。たとえば、バックボーンの統合は非常に簡単です。
Reactの代わりに、MVCで "V"のみを提供する、本番環境に対応した代替手段はないようです。 興味深いアイデア そこにあります。
質問に直接答えるために、 Mithril は仮想DOMを使用するMVCフレームワークであり、Niceドキュメントがあります。
多数の要素をレンダリングするときに既にパフォーマンスの問題が発生している場合、Angular、Ember、またはRiotJSなどに切り替えることは、修正への最も直接的なパスではない可能性があります。