Mastering Reactという英語の教材の「Reactの特徴」の章を読んだので勉強のメモ。
Mastering React(https://www.amazon.co.jp/Mastering-React-Computer-Science/dp/1032313552/ref=sr_1_2?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=1ZDY080SHN4M7&keywords=Mastering+React&qid=1679405362&s=english-books&sprefix=mastering+react%2Cenglish-books%2C184&sr=1-2)
Reactの強み
- JSと比べるとコーディングをあまりしなくていい
- JSと比べてより機能的である。
- 仮想DOMのおかげで高速なWebアプリケーションを作ることができる。
- 単方向データフローにより、開発やデバッグが簡単である。
- HTMLとJSの主要な考え方が分かり、あとは少しばかりフレームワークに対して理解を深めることができれば書けるので簡単。
- モバイルもいける。
- Chromeの拡張機能を使って簡単にデバッグなどができる。
Flux
- Facebookが提唱している、クライアントサイドのWebアプリ開発のための設計思想。
- Store、Action、Dispatcherという3つの要素から成り立つ。
- Fluxの構造に従うことで単方向データフローが実現される。
単方向データフロー
- 親コンポーネントから子コンポーネントにデータが流れ込み、逆流することはない。(単方向データフローの対義語は、双方向バインディング)
クロスプラットフォーム
- OSやデバイスなどの違いを超えてデータの受け渡しが可能である設計のこと。
Babel(バベル)
- 簡単にいうと、新しい書き方で記述したJSを、古いJS変換してくれるツール。
- 次の世代のJSの機能をブラウザのサポートを待たずに使えるようにしてくれる。
SEO
- Search Engine Optimizationの略。
- 日本語に訳すと検索エンジン最適化。
- 自社サイトを検索エンジンで上位に表示させるための施策みたいなニュアンス。
- JSの他のフレームワークにはSEO対策の観点で問題があるものが多いが、Reactはそんなこともない。Reactでサーバーサイドレンダリングを実装すれば解消する。