0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

今更ながらReactとは? なぜ作られたのかを“Q&A”で深掘り

0
Last updated at Posted at 2025-07-19

1. Reactってそもそも何?

Q. Reactって何なの?
A. React(リアクト)は、Meta(旧Facebook)が開発したUI構築に特化したJavaScriptライブラリです。
「React = 反応するUI」の名のとおり、データが変わると自動で画面が更新される仕組みを提供します。
(例:{ user.name }が変わったら、Reactが該当要素のみ更新する仕組み)1


2. なぜReactが必要だったの?

Q. 手動でDOM操作すればいいんじゃないの?

  • A. 従来のDOM操作は面倒でバグが多い。頻繁に更新するUIでは、getElementByIdinnerHTMLを都度記述する必要があり、複雑性と不具合が増えます。

Q. Facebookはどんな課題を抱えていたの?

  • A. Facebookのニュースフィードや広告管理画面は動的更新が激しく、大規模で複雑なDOM更新が頻繁に発生していました。
    この課題を解決するために、PHPのXHPというテンプレート技術をJavaScriptへ移植するアイデアからReactが生まれました2

3. Reactで何が変わるの?

Q. 宣言的UIって何が良いの?

  • A. 宣言的UIなら、開発者は「どう描画するか」ではなく「どう表示したいか」を記述するだけでOK。画面更新の処理はReactが自動で管理してくれます。

Q. コンポーネントって?

  • A. UIを小さな部品(コンポーネント)に分けることで責務が明確になり、再利用も簡単・変更も局所的にできます。
    例:ヘッダー・ボタン・リストなど、それぞれを部品化して組み合わせるイメージ。

Q. Virtual DOMってどうして高速なの?

  • A. 仮想DOMは実DOMの軽量コピー。更新が必要な部分だけを“差分計算”してリアルDOMに反映する仕組みにより、再描画のコストを最小化3
    ➡ 仮想DOMに更新 → 差分を弾く → 実DOMに必要最低限の変更だけ反映。完全な再描画を避けられるから高速!

4. なぜ他の技術ではダメだったの?

  • jQueryなどのImperative(命令型)アプローチでは、UI変更とDOM操作が混在してしまい、バグが起きやすくなります。
  • Reactの宣言+差分+部品化は新しいアプローチで、他のフレームワークも後追いで仮想DOMを取り入れています4

5. Reactの利用シーンは?

  • SPA(シングルページアプリ):GmailやSlackのようにページ遷移せずに動的に更新するアプリに最適
  • ダッシュボード・チャットUI:データのリアルタイム更新が必要な場面
  • モバイル(React Native):Webと共通の知識でネイティブアプリが書けます5
  • 大手サービス(Slack、Netflix、Yahoo!など)でも採用実績多数[^6]

✅ まとめ:「なぜReactは生まれたのか?」

疑問 Reactの解決策
更新が頻繁なDOM操作が大変? 宣言的UIでReactに任せて簡潔に
手動DOM操作で手間やバグが多い? 仮想DOM+差分処理で効率的に更新
UI構成がバラバラで管理が難しい? コンポーネントで部品化し再利用&局所変更可能

🎯 結論:Reactは「宣言的コンポーネント」と「仮想DOM」によって、大規模かつ動的なUIを“速く”、”整理して”、”直感的に”作れるよう設計された技術です。


🔗 さらに詳しく知りたい人向けリンク

  • Medium「A History of React」1
  • Medium「Understanding Virtual DOM …」3
  • LinkedIn「How Virtual DOM Makes React Fast」4
  • Wikipedia「React (software)」1
  • XHPについて(XML in PHP)2

🔗 さらに詳しく知りたい人向けリンク

  • Medium: A History of React
    Reactの誕生(2011年Facebook内)、オープンソース化(2013年)、モバイル展開(React Native導入)までの系譜をわかりやすくまとめています。1

  • Medium: React’s Virtual DOM
    Virtual DOMの仕組み(メモリ上表現→diff→実DOM更新)とパフォーマンス向上の理由を図解付きで解説しています。2

  • LinkedIn: How Virtual DOM makes React fast & efficient
    State変更時のdiffingプロセスとDOM更新のバッチ処理について具体例を交えて解説。3

  • Wikipedia: React (software)
    Reactの概要、バージョン履歴、特徴や利用事例などを網羅的に押さえたい方におすすめです。4

  • Wikipedia: XHP
    Facebook社内のPHPで使われていたXMLテンプレートエンジン。Reactコンポーネント設計の原点となった技術です。5


📝 脚注・出典情報

  1. Reactは2011年Facebook内で採用され、2013年にオープンソース化(Mediumではこれを「ReactJS: A brief history」としてまとめています) :contentReference[oaicite:1]{index=1} 2 3 4

  2. Virtual DOMはメモリ上の軽量コピーで、diff→バッチ処理→最小限のDOM反映という流れで高速化を実現 :contentReference[oaicite:2]{index=2} 2 3

  3. 変更があった要素のみを実DOMに反映するプロセスを詳しく解説 :contentReference[oaicite:3]{index=3} 2 3

  4. Reactの詳細(定義・歴史・バージョン一覧・特徴)を公式的に整理 :contentReference[oaicite:4]{index=4} 2 3

  5. Reactの設計に影響を与えたXHPについての解説 :contentReference[oaicite:5]{index=5} 2

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?