誕生 — Facebook内部の課題とFaxJS

Reactの物語は、2010年代初頭のFacebook社内にまで遡ります。 当時、Facebookは急激なユーザー増加に伴い、複雑化するUIの管理に頭を悩ませていました。 News FeedやChat、通知バーなど、リアルタイムに更新が必要なコンポーネントが増え続け、 jQueryベースのDOM操作ではコードの見通しが悪化し、バグが頻発していたのです。

XHP — PHPでのコンポーネント化の試み

2010年、FacebookはPHP向けにXHPというライブラリを公開しました。 XHPはPHPコード内にHTML風の構文を直接記述できる拡張で、 XSS(クロスサイトスクリプティング)の防止とUIコンポーネントのカプセル化を実現するものでした。 この「テンプレートとロジックを同居させる」という発想は、後のJSXに直接つながります。

FaxJS — 「UIは状態の関数」の原点

2011年、Facebookの広告チームに所属していたエンジニアJordan Walkeは、 XHPの思想をJavaScriptに持ち込んだプロトタイプFaxJSを開発しました。 FaxJSの革新的な点は、UIをステート(状態)の関数として扱うというアイデアでした。 状態が変化すればUIが自動的に再計算される — ページ全体をリロードすることなく、 特定のUIパーツだけを効率的に更新できるモデルです。

FaxJSはやがて社内で「React」と改名され、Facebookのプロダクトに実験的に導入されていきます。

オープンソース化 — 2013年JSConf US

社内での広がり

2011年、ReactはまずFacebookのNews Feedに導入されました。 複雑なリアルタイム更新が求められるNews Feedで成果を上げたことで、社内の信頼を獲得します。 2012年には、Facebookが買収したInstagramのWebアプリにも採用されました。 Instagram開発チームがReactを選んだことは、Facebook内部プロジェクト以外でもReactが有効であることの証明となりました。

JSConf US 2013 — 世界への公開

2013年5月29日、アメリカ・フロリダ州アメリア島で開催されたJSConf USにて、 Jordan WalkeがReactを初めて公の場で発表しました。 同時にReact 0.3.0がオープンソースとして公開されます。

しかし、当初のコミュニティの反応は冷淡なものでした。 HTMLとJavaScriptを混在させるJSXという構文は「関心の分離に反する」と批判され、 多くの開発者がMVCパターンに慣れていた時代には受け入れがたいものだったのです。 Pete Huntをはじめとするチームメンバーが粘り強く普及活動を続け、 徐々に開発者コミュニティに浸透していきました。

主要バージョン年表

Reactはオープンソース化から10年以上にわたり、一貫して進化を続けてきました。 以下はReactの主要なマイルストーンです。

React 0.3.0 — オープンソース公開

JSConf USでJordan Walkeが発表。JSX、Virtual DOM、単方向データフローを特徴とする初期バージョン。

React 0.13 — ES6 Classサポート

React.createClassに加え、ES6のclass構文でコンポーネントを定義可能に。React Nativeも同時期に公開。

React 15 — DOM属性の改善

IE8サポートを終了し、モダンブラウザに最適化。SVGサポートの強化、エラーメッセージの改善。

React 16(Fiber) — 内部アーキテクチャ刷新

Fiberと呼ばれる新しいReconciliationエンジンを導入。Error Boundaries、Portals、Fragment対応。ライセンスもMITに変更。

React 16.8 — Hooks登場

useState、useEffectなどのHooksを導入。クラスコンポーネントなしで状態管理や副作用が可能に。Reactの書き方を根本から変えた。

React 17 — 踏み石リリース

新機能はほぼなし。新しいJSX Transformの導入、イベント委譲の変更など、将来のアップデートへの基盤整備。

React 18 — Concurrent Rendering

Automatic Batching、Transitions API、Suspenseの改善。createRootによる新しいレンダリングAPI。

React 19 — Actions & Server Components

Server Components正式化、Actions、useフック、useOptimistic、useFormStatusなど。フォーム処理のパラダイムシフト。

React 19.1 — View Transitions

startViewTransition APIとの統合、Activity(旧Offscreen)コンポーネントの安定版リリース。

React 19.2 — React Compiler v1.0

React Compiler(旧React Forget)がv1.0に到達。useMemo/useCallbackの手動最適化が不要に。

ライセンス騒動 — BSD+PatentsからMITへ

Reactの歴史を語る上で避けて通れないのが、2017年のライセンス騒動です。 これはオープンソースコミュニティ全体を巻き込んだ大論争となりました。

BSD+Patentsライセンスとは

Reactは当初、BSDライセンスに特許条項(Patents Grant)を付加したライセンスで公開されていました。 この条項は「Facebookに対して特許訴訟を起こした場合、Reactの使用許諾が自動的に取り消される」というものでした。 Facebookとしては自社の知的財産を守るための防衛策でしたが、 React利用者からは「特許リスクを抱えることになる」と懸念の声が上がりました。

危機の深刻化

2017年7月、Apache Software Foundationがこの特許条項を「Category-X」に指定し、 Apache傘下のプロジェクトでReactの使用を禁止しました。 さらに同年9月、当時Web全体の約25%を動かしていたWordPress(Automattic社)が 「ReactからPreactへの移行を検討する」と発表。 これは事実上、React離脱宣言に等しいものでした。

graph TD
    A[React: BSD+Patents] --> B[2017年7月: Apache FoundationがCategory-X指定]
    B --> C[Apache傘下プロジェクトでReact使用禁止]
    B --> D[2017年9月: WordPressがReact離脱を宣言]
    D --> E[Web全体の約25%に影響の可能性]
    C --> F[2017年9月26日: FacebookがMITライセンスに変更]
    E --> F
    F --> G[コミュニティの信頼回復]
ライセンス騒動の流れ

MITライセンスへの移行

コミュニティの強い反発を受け、Facebookは2017年9月26日、 React 16のリリースに合わせてライセンスをMITライセンスに変更しました。 同時にJest、Flow、Immutable.jsなど関連プロジェクトもMITに移行しています。 この決断は、Reactエコシステムの持続的な成長にとって極めて重要な転換点となりました。

React Nativeの誕生

ReactがWebの世界で確固たる地位を築く一方、その思想はモバイルアプリ開発にも波及しました。

2013年夏、Facebook社内で行われたハッカソンで、 ReactのコンポーネントモデルをネイティブモバイルUIに適用するアイデアが生まれました。 「JavaScriptでネイティブアプリを構築する」というこのアイデアは、 当時のハイブリッドアプリ(WebViewベース)とは一線を画すものでした。

2015年3月、F8カンファレンスでReact Nativeがオープンソース公開されます。 そのスローガンは「Learn once, write anywhere」。 「Write once, run anywhere」ではなく、あえて各プラットフォームのUIパターンを尊重しつつ、 React開発者が持つスキルセットでモバイルアプリも構築できるという思想を表現していました。

React Foundation — 新たな時代

Reactは長年Meta(旧Facebook)のオープンソースプロジェクトとして運営されてきましたが、 その支配的な立場はしばしば議論を呼びました。 一企業がWeb開発の根幹を担うライブラリのガバナンスを握り続けることへの不安は、 ライセンス騒動を経験したコミュニティにとって切実な問題でした。

React Conf 2025での発表

2025年10月、React Conf 2025にてReact Foundationの設立意向が発表されました。 これはReactのガバナンスをMeta単独から、独立した財団へ移行するという歴史的な決定でした。

Linux Foundation傘下で正式発足

2026年2月、React FoundationはLinux Foundation傘下で正式に発足しました。 創設メンバーには以下の企業が名を連ねています:

  • Amazon — AWSコンソール等で大規模にReactを使用
  • Callstack — React Native専門の開発会社
  • Expo — React Nativeの開発プラットフォーム
  • Huawei — HarmonyOSでのReact Native対応
  • Meta — Reactの生みの親、引き続きコアチームを維持
  • Microsoft — Office、Teams等でReactを採用
  • Software Mansion — React Native関連のOSSで著名
  • Vercel — Next.js開発元、Server Componentsの実装をリード

まとめ

Reactの歴史は、一人のエンジニアのアイデアが世界のフロントエンド開発を変革した物語です。 FaxJSという社内プロトタイプから始まり、オープンソース化、ライセンス騒動を乗り越え、 Hooks、Concurrent Rendering、Server Componentsと革新を続けてきました。 そして2026年、React Foundationの設立によって、Reactはコミュニティ主導の新たなフェーズに入りました。

次章では、このReactの心臓部 — Virtual DOM、Fiber、JSXといった アーキテクチャの深淵に踏み込んでいきます。

理解度チェック

問題 0 / 50%
Q1

Reactの原型となったFaxJSを開発したエンジニアは誰ですか?

キーボード: 1〜4 で選択、Enter で回答