React.jsの案件について
React.jsは、UIを構築するためのライブラリで、フレームワークでなくあくまでUIを構築するだけのライブラリであり、MVCでいうところのVの機能だけを提供します。
Backboneと組み合わせたり、Angularと組み合わせたりもできます。
規模が大きくなっても管理できる仕組みを提供するライブラリで、コンポーネントを極力ステートレスにすることで、コンポーネントが管理しやすくなります。
コンポーネントの構造が、サイトの構造をみやすくすることや、コンポーネントの変化をコンポーネント内で解消できる、というメリットもあります。
開発元のFacebookのコメント部分など、インタラクティブな箇所で使われています。
Facebookでmessenger.comというWebアプリが提供されていますが、これは全てReact.jsのコンポーネントで作られ、他にも、instacram.com、NeflixやBBC(ユーザーが見える部分)、Atlassian(HipChatのWebクライアントをReact.jsとFluxで再構築)などでも使われています。
React.jsが提供するのはコンポーネントを作成する仕組みだけで、他の複雑な概念を理解する必要が一切ないことから、学習コストもあまりかかりません。
Reactを利用すればDOMについて考える必要性がなくなり、よりシンプルなプログラミングモデルに加え、より良いパフォーマンスを得ることができます。
また、Nodeを利用してサーバー上でレンダリングもでき、他にもReact Nativeを使うことでネイティブアプリにも活用できます。