これが数字です
- min + gzip 26k
- gzip 90k
- オリジナルの450+ k
そして、Reactのドキュメントには多くの機能がありません。なんでこんなに大きいの?
軽量DOMの実装だと感じています。しかし、私は確信したいです。
これが数字です
そして、Reactのドキュメントには多くの機能がありません。なんでこんなに大きいの?
軽量DOMの実装だと感じています。しかし、私は確信したいです。
回答:
Reactはかなりのことをします!Reactの最大の非自明な部分は、おそらくイベントシステムです。Reactは独自のイベントディスパッチとバブリングを実装するだけでなく、ブラウザー間で共通のイベントを正規化するため、それほど心配する必要はありません。たとえば、SelectEventPluginは、組み込みのイベント「プラグイン」であり、onSelect
すべてのブラウザで同じように動作イベントをです。
仮想DOMの実装では、同様のコードのまともな金額がかかります。パフォーマンスの最適化に多くの労力が費やされているため、縮小されていないバージョンにはReactPerfが含まれています、レンダリングパフォーマンスを測定するためのツールであるます。DOMを更新する際に、Reactは、入力の選択を維持したり、現在のスクロール位置を同じに維持したりするなど、便利なこともいくつか行います。
Reactには、他にもいくつかのトリックがあります。最もクールな点の1つは、ブラウザ環境がなくてもコンポーネントをHTML文字列にレンダリングすることを完全にサポートしているため、JSが読み込まれる前でも機能するページを送信できることです。
Reactを何と比較していますか?react-15.0.2.min.js
はですが43k (gzipped)
、jQueryは33kですが、ember-2.6.0.prod.js
は363k (also gzipped)
です。明らかに、これらのフレームワークはまったく同じことをしませんが、多くの重複があるので、比較は合理的だと思います。
ダウンロードサイズが心配な場合は、JSコードがそれに寄与することについてはあまり心配しません。これが私のStackOverflowページの右側に表示されている広告です。
ダウンロードサイズは95kです。そのような画像をページに含めることについては、(パフォーマンスが心配だったとしても)通常、パフォーマンスに関連する修正すべき点が他にもたくさんあるので、2度考えません。
要するに、Reactはそれほど大きいとは思いません。そして、Reactのサイズは、あなたを助けるために行う多くの小さなことから来ています。Reactのコードを小さくする必要がある理由としてReactの小さいAPIを挙げていますが、もっと良い質問は、「ReactのAPIは、すべての機能を考慮して、どうしてこんなにシンプルにできるのでしょうか」ということかもしれません。
…しかし、それはまったく別の質問です。:)私があなたの質問に答えたことを願っています-私が答えなかったなら、拡大して幸せです。
いくつか考えてみました。サイズについても同じ懸念がありましたが、使用した後は冗談ではなく、5MBのサイズであれば使用しました。それはそれだけで良いです。そうは言っても、私は他のライブラリへの依存関係をできるだけ減らすことにしました。私は2つの目的でjqueryを使用していました..ajaxと、ログイン後の応答にトークンが含まれている場合に処理する自動ajax応答と要求処理(beforeSendなど)。送信。これを、非常に小さな単純なネイティブJavaScriptに置き換えました。よく働く。また、私は_underscoreを使おうとしていました。現在は使用していないので、完全に削除する可能性がありますが、より小さくて高速なlodashに置き換えました。
これはグーグルの多くの記事の1つで、jqueryではなくネイティブJSを使用するいくつかの選択肢があることがわかりました。
http://www.sitepoint.com/jquery-vs-raw-javascript-1-dom-forms/