ここには長い間何も書いていませんが、今日は金曜日です。 Reactに投げる あなたのVidomクラフトについて話してください。
簡単な歴史
Reactだけが誇大広告の段階に入ったとき(2014年初頭)、仮想DOMのアイデアとそれに関連するすべて(差分、パッチ)が非常に興味深かったので、私はそれを実現し、自分の実装でそれを感じることにしました。 最大のパフォーマンスを達成するために、その時点で存在していた実装を見て、いくつかのアプローチを行い、すべてをゼロから何度も書き直しました。 その後、徐々にコンポーネント、フック、コンテキスト、サーバーレンダリング、es2015などが登場しました。 次に、Reactの使用中に人が何を傷つけるかを調べました。最も一般的な問題の1つは、サーバーレンダリングのパフォーマンスとフラグメントサポートの欠如です(このタスクは、ほぼ2年間反応トラッカーにありました!)。 袖をまくり、フラグメントのサポートを追加しました。 そして、Vidomのssrパフォーマンスは元々そこに置かれていました。ベンチマークの結果は以下に見ることができます。
結果は次のとおりです。
ReactのようなVidomとは
- 内部の仮想DOM
- jsx
- クラスと関数の両方に基づいて、独自の高レベルのコンポーネントを作成する機能
- クラスのライフサイクルフック
- DOMイベントの簡単なサブスクリプション
- コンテキストAPI
- 同型、ssr、サーバーから取得したマークアップを再利用する機能
- Chrome開発者ツールプラグイン
VidomとReactの違い
- スピード、スピード、そしてスピード
- ターゲットプラットフォームのみのブラウザ
- フラグメントのサポート。たとえば、1つのコンポーネントから他の複数のコンポーネントを(不要なコンポーネントなしで、場合によってはDOMラッパーに干渉して)返したり、DOMを含む複数のノードを1つとして操作したりできます。
- 配列を使用する場合、単純な場合にキーを設定する必要はありません
- ライブラリサイズ(gzip後の約8Kb)
- propTypesがありません
- 行方不明、およびこれは、主要なマイナス、react-router、react-reduxなどの数千の関連ライブラリです。 :)
ベンチマーク
再描画率の課題
uiベンチ
サーバー側レンダリング(ノードv4.4.3、NODE_ENV =本番):
あなたの質問に答える準備ができているだけでなく、githubで問題とプルリクエストを確認してください;)