React で何が出来るか
React とは、Gmail や Google drive のような Web アプリを作るときに使う、フロントエンドのライブラリです。
例えば、ユーザーがブラウザの画面上から特定のデータを選択して削除したり、メッセージを投稿するなどの操作をした時、Webアプリはデータベースサーバーに問い合わせ、値を取得・作成・編集・削除といった処理をします。
このとき、データ処理の直後にブラウザのDOM構造を変化させるのですが、それをエンジニアが実装していると、人的ミスが起きたり、非同期処理のネストが深くなったりして設計がカオス化していました。
React は、こういった問題を解決します。
データ処理とDOM構造の変化の対応付けをしてくれる、という特徴のほかに、コンポーネント化も可能です。
コンポーネント化されたウィジェットは公開されていて、使用することが出来ます。
https://github.com/brillout/awesome-react-components
同じような事ができるフロントエンドのライブラリには、
vue.js や angular.js があり、
学習コスト、経験があるエンジニアの数、メンテナンスコスト、技術的寿命など
プロジェクトで何を重視するかで選択される事が多いです。