私はReactを学習している駆け出しのエンジニア。今日はReactのメリット・デメリットをしっかり理解すべく、備忘録として残していく。やっぱり、メリット・デメリットを理解して使わないといつまで経ってもエンジニアとしてひよっこのままだと思うので、、、。
早速、書いていくぅ!
Reactのメリット
①レンダリングが高速
レンダリングとはWebページの描画を意味しており、Reactでは仮想DOMという技術が使用されています。Reactのレンダリングが行われるのは、変更前と変更後の仮想DOMを構築し変更差分を検出することで、DOMの構築が必要か判断します。変更に差分がない場合は、DOMの更新は行われません。
更新が必要最低限となっているためReactのレンダリングのパフォーマンスは最適化され、高速になっています。
②パーツを管理しやすいコンポーネントベース
コンポーネントとは、構成要素や部品と言った意味を持っており、Reactでは全ての要素を部分ごとにコンポーネントに分けて管理します。それぞれを個別で管理することで、複雑なUIの管理を簡単にし、自由に開発することが可能です。小さいパーツで分けておくと管理がしやすく拡張性を上がります。また、再利用もできるので便利に開発できます。
③JavaScriptで書ける
JavaScriptのライブラリなので当たり前だがこれは非常に大きいなメリットです。Reactで採用されているJSX記法はJavaScriptの拡張構文であり、関数の戻り値にコンポーネントが指定できたり、内部のロジックの記述にJavascriptの記法ができるため、Javascriptの特性を最大限に活かした記述ができます。
Reactのデメリット
①ページアクセス時の読み込みが長くなってしまう。
ReactはWeb動作を快適にするために、仮想DOMという技術が用いられています。仮想DOMはメリットがある反面、最初のアクセス時にデータの読み込みが長くなってしまいます。例えば、ニュース記事のページのように読むだけでほとんど操作をしないページはReactを使ってもあまり意味がなく、むしろ最初の表示に時間がかかるため、UX(ユーザー体験)は低下をしてしまう場合があります。一方、地図検索のように頻繁に操作をするようなウェブではReactを使うことでUXを大きく向上させることができます。