プログラミング勉強日記
2020年9月10日
JSには色々なフレームワークがあって、開発の用途によって使用するフレームワークが違うと思うので、まとめてみようと思う。まずReactについてまとめる。
Reactとは
Reactはサイトの見た目を作れるJavaScriptのライブラリ。Reactのモバイル版であるReact Nativeを使うとiOSとAndroidのアプリを作ることもできる。
一言でいうとUIを作るためのJS用のライブラリである。
コンセプト
Reactの公式ホームページでは以下の3つのコンセプトがある。これらがReactの中核といえる考えである。
- Declarative
- Component-Based
- Learn Once, Write Anywhere
Declarative(宣言的である)
宣言的であることが、Reactの最大の特徴であるといえる。他人のコードを読んでも理解しやすい仕組みになっている。
(jQueryではイベントに対して手続き的に処理を書くのでデバックもしにくく、読みにくいコードになってしまう)
Component-Based(コンポーネント指向である)
コンポーネント指向は、ソフトウェアを機能ごとに部品(コンポーネント)として分割して、必要に応じて組み合わせて使う考えのことである。
機能を小さい部品にして持たせているので、状態の管理もしやすくて再利用も容易にできる。
Learn Once, Write Anywhere(一度の学習で何度でも書ける)
Reactを習得するとWEBアプリだけでなく、他の分野に適応することができる。例えば、React Nativeを使うことでモバイルアプリを開発することもできる。
特徴
Reactは以下の3つの特徴がある。
- レンダリングが高速
- 大規模なアプリほど向いている
- ドキュメントは英語が多い
- JSの基本構文を理解していればすぐに書ける
レンダリングが高速
Webページを描画することをレンダリングという。Reactでは更新された一部のみを変更するという効率的な仕組みによって、レンダリングする箇所は一部でよく高速で表示を切り替えることができる。
大規模なアプリほど向いている
この理由としては以下の5つの理由がある
- 管理しやすい設計(見やすい設計)
- 複雑な条件を組み込める
- 長期の運用ができる
- カスタマイズ性が高い