##Reactとは
Reactとは、FaceBook社が開発したWebサイト上のUIパーツを構築するための「JavaScriptライブラリ」です。
しばしば三大フレームとして「 Angular」や「Vue.js」と比較されることがありますが、Reactは「フレームワーク」ではなく「ライブラリ」です。
React はユーザインターフェースを作成する為の JavaScript のライブラリです。
参照:React公式サイト
Angularは、テンプレートを現在のJavaScript仮想マシン向けに高度に最適化されたコードに変換し、手書きコードのすべての利点をフレームワークの生産性で実現します。
参照:Angular公式サイト
Vue (発音は / v j u ː / 、 view と同様)はユーザーインターフェイスを構築するためのプログレッシブフレームワークです。
参照:Vue.js公式サイト
ではフレームワークとライブラリでは何が違うかと言うと、自由度が違います。自由度が高い方がライブラリ、低い方がフレームワークと呼ばれるものになります。
一見すると自由度が高いことは良いことのように感じますが、複数人で開発する場合などある程度のルールがあらかじめ決まっていた方が開発する人によっての個人差が少なくすみ可読性が上がります。
もちろん自由度が高いことがメリットになる場合もあります。ある程度のルールが最初から決まっている場合にはその型にはまったものしか作ることができません。
詳しくは
こちらの記事がわかりやすくまとまっています。
##Reactを使うメリット3つ
####値の管理がしやすい
Reactには「State」と言うデータの変更を検知し、関連するコンポーネントだけを効率的に更新、再描画する機能が実装されています。処理速度が速くなり、記述量が減るのでコードが見やすくなります。
####部品化することでの再利用性
「コンポーネント」と言う部品として機能と表示をまとめて扱えるため、一度開発したコンポーネントについては他のアプリケーションなどにも簡単に実装することができます。
####環境に依存しない汎用性の高さ
Reactでは開発の途中からでもReactの技術を使うことができるように、既存のコードを書き換える必要なしで導入できます。またReactNativeを使うことでモバイルアプリケーションにも対応できます。
####関連