メインコンテンツにスキップ

おわりに

Aurora Scharff

Aurora Scharff

certificates.devのReact認定リーダー、React & Next.jsの講師

2025年はReactにとって激動の年でした。

React 19は2024年後半にリリースされ、多くの人々はReactがクライアントサイドを置き去りにするのではないかと不安を抱きました。コミュニティからの強い要望もあり、React 19での不具合をきっかけに、2月にはついにCreate-React-Appは廃止されました。5月には、Remix 3がReactから離脱することが発表され大きな波紋を呼びました。 その一方で、Dan Abramov氏がReact Server Components(RSC)に関するブログ記事やRSC Explorerを携わって戻り、RSCの真の目的や仕組みを改めて丁寧に紐解いてくれました。

しかし、疑問は残りました。Reactはどこへ向かっているのでしょうか。

10月に開催されたReact Confで、その答えが示されました。 まず、Reactが特定の企業に依存せず、自律したコミュニティとして発展し続けるための拠点として「React Foundation」の設立が発表されました。 技術面では「Compiler 1.0」が安定版となり、これからは useMemouseCallback でコードを埋め尽くす必要がなくなります。 また、React 19.2では useEffectEvent<Activity> が導入され、React Canaryの <ViewTransition> によって、誰もが手軽に滑らかなアニメーションを実装できるようになりました。

Ricky Hanlon氏による非同期レンダリングのデモは、チームが長年取り組んできた成果の集大成でした。 また、Async React Working Groupを通じて、周辺ライブラリもこれらの新しいパターンへの対応を進めています。 こうした動きを見れば、クライアントサイドのReactがどこかへ行ってしまうことがないことは明らかです。

結局のところ、実運用されているアプリケーションでは依然としてSSRよりもSPAの方が主流です。非同期の状態管理にはTanStack Queryがデファクトとして使われ続けていますし、TanStack StartはNext.jsに対する有望なクライアントファーストの代替手段として台頭しています。 例えばT3 Chatの最近の移行事例でも、SPAならではの挙動を最大限に活かすための構成が採用されています。

サーバーサイドに関する意見は分かれています。"use cache""use workflow" といったディレクティブが次々と増えていることが議論を呼び、秀逸なミームも生まれています。その一方で、12月に報告されたCVEは、RSCがまだ発展途上であることを改めて印象付けました。 サーバーファーストの動きとしては、Next.jsが全く新しいアプローチとしてCache Componentsを導入し、RedwoodSDKはRSCを全面的に採用する道を選んでいます。

Reactは、UIのプロンプトを出すときのデフォルトの出力にもなりました。Andrej Karpathy氏は2月に"vibe coding"という言葉を提唱し、v0CursorLovableBolt.newなどのツールがそれを現実にし、誰もがアプリを構築し、shadcn/uiを活用することで自分のアイディアを形にすることができるようになりました。

追いつくのは大変ですが、Theo Browne氏は活動の軸をAIに転換し、どういうわけかそのすべてを増え続ける視聴者に伝えています。そして、ありがたいことにThis Week in Reactは私たちのメールボックスに届き続けています。

2025年はそれなりに混乱もありましたが、Reactは依然として素晴らしい状態にあります。これまで以上のスピードで開発を進められることにワクワクしていますし、開発者教育に携わる身としては、AIが学習のあり方をどう変えていくのか非常に興味深いです。これからの展開が楽しみでなりません!