Contents
Reactの設計における考え方
・すべてのDOMをJavaScriptの支配下に置く(NativeAppに近い考え方)
・DOMが主からデータが主に
→データから動的にDOMを生成する
・コンポーネント指向
Reactが話題になってきた背景
・シングルページアプリケーション(SPA、Single Page Application)が主流になってきた
・IE8がほとんど対応不要に
・ECMAScript6の登場
シングルページアプリケーション(SPA)とは?
シングルページアプリケーションのメリット
・単一Webページで構成
・サーバーが行う処理の大半をクライアント側に移行
→ サーバー側にかかる処理・負荷を減らせる
・ページ遷移、画面全体の更新を行わず、部分的な更新が行える
→画面遷移が早い
・HTML5のhistory.pushStateによってURLの動的書き換えが可能
・ページ遷移という概念を超越したクライアントプログラミングの極地
SPAのデメリット
・JSの書き方次第でパフォーマンスに影響、敷居が高い
・サーバー自体の性能は変わらず、そちらは別対策が必要(node.jsなど)
・SEO対策が苦手
・静的コンテンツの多いサイトには不向き
・従来のWebページ
jQueryじゃダメなの?
jQueryの得意なところ
・レンダリングされているDOMの操作
DOM:javascriptでhtmlを操作するための仕組み
https://eng-entrance.com/what-is-dom
・機能が貧弱なブラウザに対する互換性の提供(IE8などでも動く)
jQueryじゃなくてReactが採用されるようになった理由
・最近のトレンド「シングルページアプリケーション」ではjavascriptで扱う範囲が多くなり、Reactが必要
・状態に合わせて適切な画面を組み立てる
・画面全体を再構築することも頻繁にある