Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Reactの歴史を振り返る

 Reactの歴史を振り返る

チームの勉強会で使用した資料になります。
急いで作成した資料のため、内容として説明不足や間違った解釈をしている箇所があるかもしれません。もしお気づきの方は、ご連絡いただけますと幸いです。

Avatar for つちのこ

つちのこ

July 26, 2025
Tweet

More Decks by つちのこ

Other Decks in Programming

Transcript

  1. 2013/07 GitHub上にReactの初回リリースが行われました。 この初回リリースの v0.3.0 時点で、Reactの革新的なアプローチである以下 の概念が既に実装されていました。 - 仮想DOM ... DOMへの変更を最小限に抑える効率的な更新メカニズム

    - 宣言的UI ... 「どのように変更するか」ではなく「どのような状態を表示したいか」を記述する開発スタイル - JSXの導入 ... HTMLライクな構文でJavaScript内にマークアップを記述できる記法 初回リリース https://github.com/facebook/react/releases/tag/v0.3.0
  2. 2013/07 GitHub上にReactの初回リリースが行われました。 この初回リリースの v0.3.0 時点で、Reactの革新的なアプローチである以下 の概念が既に実装されていました。 - 仮想DOM ... DOMへの変更を最小限に抑える効率的な更新メカニズム

    - 宣言的UI ... 「どのように変更するか」ではなく「どのような状態を表示したいか」を記述する開発スタイル - JSXの導入 ... HTMLライクな構文でJavaScript内にマークアップを記述できる記法 これらの概念は当時のjQuery中心のWeb開発に対する革新的なアプローチと して大きな注目を集めました。 初回リリース https://github.com/facebook/react/releases/tag/v0.3.0
  3. メジャーバージョンリリースまで メジャーバージョンリリースまでの主要なアップデート v0.8.0 (2013/12)  npmパッケージとして公開 v0.11.0 (2014/07) React DevToolsの初回リリース v0.12.0

    (2014/10) JSXの根本的改善とES6クラス構文のサポート v0.13.0 (2015/03) クラスコンポーネントのサポート追加 v0.14.0 (2015/10) ReactとReact DOMの分割(React Native対応準備) v0.14.0 (2015/10) Stateless Function Components の導入
  4. メジャーバージョンリリースまで メジャーバージョンリリースまでの主要なアップデート v0.8.0 (2013/12)  npmパッケージとして公開 v0.11.0 (2014/07) React DevToolsの初回リリース v0.12.0

    (2014/10) JSXの根本的改善とES6クラス構文のサポート v0.13.0 (2015/03) クラスコンポーネントのサポート追加 v0.14.0 (2015/10) ReactとReact DOMの分割(React Native対応準備) v0.14.0 (2015/10) Stateless Function Components の導入 これらのアップデートの後、メジャーバージョンがリリースされる。
  5. メジャーバージョンのリリース v15.0.0(2016/04)Reactのメジャーバージョンのリリース。 前バージョンの 0.14.0 から続くアップデートのため、14に続けてメジャー バージョンのファーストリリースは、v15から始まっている。 This 15.0 release follows

    our previous 0.14 version and we’ll continue to follow semver like we’ve been doing since 2013. アップデート内容としては、パフォーマンスや体験の向上などが多く含まれ ており、実装を行う上での大きな変更点はないものの、このリリースによっ て、Reactは本格的な本番運用ライブラリとしての地位を確立しました。 https://legacy.reactjs.org/blog/2016/04/07/react-v15.html
  6. React v15.0.0 から v16.0.0(2017/09) の主要なアップデート。 - React Fiberという新たなレンダリングエンジンへの移行 - Error

    Boundaryの追加(以前まではエラーでクラッシュしていた) - Portalの導入(異なるDOM階層への描画が可能に) このv15からv16の間(2016/07)にCreate React Appが公開されました。 メジャーバージョンの更新
  7. React v15.0.0 から v16.0.0(2017/09) の主要なアップデート。 - React Fiberという新たなレンダリングエンジンへの移行 - Error

    Boundaryの追加(以前まではエラーでクラッシュしていた) - Portalの導入(異なるDOM階層への描画が可能に) このv15からv16の間(2016/07)にCreate React Appが公開されました。 現在のReactにある機能群は未だ追加されていないものの、Create React Appによって学習コストが大幅に下がったため、Reactの普及が加速しまし た。 メジャーバージョンの更新
  8. React v16.0.0 から v17.0.0(2020/10) の主要なアップデート。 - Context, ref, memo, lazy,

    Suspenceなどの機能・APIの追加 - Stateful Functional Componentの追加 - React Hook の登場 メジャーバージョンの更新
  9. React v16.0.0 から v17.0.0(2020/10) の主要なアップデート。 - Context, ref, memo, lazy,

    Suspenceなどの機能・APIの追加 - Stateful Functional Componentの追加 - React Hook の登場 このアップデートにより、現在の主流な実装方法である関数コンポーネント やReact Hookを用いた開発が可能になり、クラスコンポーネント中心の複雑 な記述から、よりシンプルで直感的な関数型アプローチへと変化しました。 メジャーバージョンの更新
  10. React v17.0.0 から v18.0.0(2022/03) の主要なアップデート。 - 並行レンダリング(レンダリングの中断・再開が可能に)の追加 - 自動バッチ処理(パフォーマンス向上)の追加 -

    Transitions(緊急度による更新の優先制御)の追加 これらの機能により、開発者が手動でパフォーマンス最適化を行う負担が軽 減され、自動的に快適で応答性の高いユーザー体験を提供できるようになり ました。 メジャーバージョンの更新
  11. - Reactの基本的な概念などはファーストリリース時からあった - 2016/04 に v15 でメジャーバージョンがリリースされる - 現在のReactと遜色ない機能群は、v16 ~

    v17 間でリリースされた ちょうど自分がReactを学習し始めた時期(2020年)に、Reactの設計が変 わる大きなアップデートが発生していたようでした。 他のフロントエンドのライブラリ(Vue, Angular)と比べてReactの導入が 多くなったのもこの時期あたりだったと認識しており、v16 ~ v17 間のアッ プデートがReactにとって重要なものだったと思われます。 まとめ
  12. 2016/04 v15.0.0 Reactのメジャーバージョンのリリース 2017/09 v16.0.0 のリリース 2020/10 v17.0.0 のリリース 2022/03 v18.0.0 のリリース 2024/12 v19.0.0 のリリース

    v15.0.0 ~ v16.0.0 - React Fiberというレンダリングエンジンへ移行 - Error Boundaryの追加(エラークラッシュ) - Portalの追加(異なるDOM階層描画) v16.0.0 ~ v17.0.0 - Context, ref, memo, lazy, Suspenceの追加 - Stateful Componentsの追加 - React Hookの登場 v17.0.0 ~ v18.0.0 - 並行レンダリングの追加 - 自動バッチ処理の追加 - Transitionの追加
  13. FAQ