web-dev-qa-db-ja.com

Reactのファイルサイズが小さいAPIであるのになぜそんなに大きいのですか?

ここに数字があります

  • min + gzip 26k
  • gzip 90k
  • 元の450 + k

そしてReactのドキュメントには多くの機能がありません。なぜそんなに大きいのですか?

軽量DOMの実装だと感じています。しかし、私は確信したいです。

85
Eldar Djafarov

Reactはかなり機能します! Reactの最大の非自明な部分は、おそらくイベントシステムです-Reactたとえば、 SelectEventPlugin は、すべて同じように動作するonSelectイベントを提供する組み込みイベント「プラグイン」です。ブラウザ。

virtual DOMの実装もかなりの量のコードを必要とします。パフォーマンスの最適化に多大な労力が費やされているため、縮小版にはReactPerfが含まれています。これは、レンダリングパフォーマンスを測定するためのツールです。 DOMの更新において、Reactは、入力選択を維持し、現在のスクロール位置を同じに保つなど、いくつかの便利なことも行います。

Reactには、他にもいくつかのトリックがあります。最もクールな方法の1つは、ブラウザー環境がない場合でもHTMLストリングへのコンポーネントのレンダリングを完全にサポートしているため、JSがロードされる前でも機能するページを送信できることです。


何を比較していますかReact ?? react-15.0.2.min.js43k (gzipped)ですが、jQueryは33kで、ember-2.6.0.prod.js363k (also gzipped)です。明らかにこれらのフレームワークまったく同じことはしませんが、多くの重複があるため、比較は合理的だと思います。

ダウンロードサイズが心配な場合は、JSコードがそれに貢献することをあまり心配しません。スタックオーバーフローページの右側に現在表示されている広告を次に示します。

そのダウンロードサイズは95kです-ページにそのような画像を含めることを二度とは思いません。なぜなら、(パフォーマンスについて心配していても)通常、より有益な修正すべき他の多くのパフォーマンス関連の事柄があるからです。


要するに、私はReactがそんなに大きいとは思いません。そして、それがどんなサイズなのかは、あなたを助けるために行う多くの小さなことから来ています。Reactの小さなAPIを、 Reactのコードは小さくする必要がありますが、「ReactのAPIは、すべてのことを考えれば、どのように簡単にできるのでしょうか?」

…しかしそれはまったく別の質問です。 :)私はあなたの質問に答えたことを望みます-私がしなかったなら、喜んで拡大します。

182
Sophie Alpert