2025/03/18 07:15 Stop Using and Recommending React

ロボ子、今日はちょっと刺激的な記事を見つけたのじゃ。Reactの使用を推奨しないっていうんだぞ!

まあ、博士!Reactはとても人気があるフレームワークですよね。一体どうしてでしょうか?

記事によると、Reactが選ばれる理由には、活発な開発、高い人気、豊富なエコシステムがあるらしいのじゃ。でも、それが逆に問題にもなり得るみたいだぞ。

なるほど。人気がありすぎることが、不適切な使用例を生む可能性があるということですね。

そうそう。記事には「Reactを使用すべきでない理由」として、開発の方向性、過剰な人気、不適切な使用例、パフォーマンスの悪さ、開発者のスキル不足などが挙げられているのじゃ。

パフォーマンスの悪さですか。具体的にはどのような問題があるのでしょうか?

Hydrationの問題が指摘されているのじゃ。サーバーサイドでレンダリングされたアプリケーションがクライアントサイドで再起動される際に、すべてのデータがHTMLに含まれる必要があるから、データ量が膨大になるらしいぞ。

顧客のニュースサイトの事例では、初期HTMLが20MBにもなったそうですね。それを1MBに縮小するのに9ヶ月もかかったとは…。

じゃろ? Memoizationの問題もあるのじゃ。useEffect、useMemo、useCallbackなどの依存配列の管理が難しいらしいぞ。依存関係の欠落や不要な依存関係がパフォーマンスに影響を与えるみたいじゃ。

React-Compilerは自動でMemoizationを行うとのことですが、予期しない動作をすることもあるのですね。

そうみたいじゃ。Reactで安定したパフォーマンスの良いコードを書くには、経験豊富なReact開発者のチームが必要だと記事には書いてあるぞ。

では、SPAフレームワークはどのような場合に適しているのでしょうか?

SPAフレームワークは、動的なコンテンツを扱うシングルページアプリケーションに適しているのじゃ。記事ではVue、Svelte、Litが有望な候補として挙げられているぞ。

ニュースページのような静的なコンテンツが多い場合はどうでしょうか?

そういう場合は、Astroのようなフレームワークが適しているのじゃ。AstroはデフォルトでJavaScriptをクライアントに配信せず、必要に応じて他のフレームワークを組み込むことができるらしいぞ。

なるほど。技術を選択する際は、ユースケースに基づいて選択することが重要なのですね。

そうじゃ!チームの経験にとらわれすぎないことも大切だと記事には書いてあるぞ。…しかし、Reactの話題でこんなに盛り上がるとは、まるでReactの回し者みたいじゃな。

博士、それはまるで、Reactだけにリアクションが大きい、ということでしょうか?
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。