#プログラミング勉強日記
2020年9月11日
JSには色々なフレームワークがあって、開発の用途によって使用するフレームワークが違うと思うので、まとめてみようと思う。前回はReactについてまとめたので、今回はAngularについてまとめる。
#Angularとは
Angular(読み方:アンギュラー)は、Googleが開発したJSのフレームワーク。とても人気があり、WEBアプリ開発においてはReactと並んで最も使われるフレームワーク。
#特徴
#コンポーネント指向である
Reactと同様で、Angularもコンポーネント指向である。コンポーネント指向は、ソフトウェアを機能ごとに部品(コンポーネント)として分割して、必要に応じて組み合わせて使う考えのことである。
ビュー、ロジック、コンポーネントを構成するメタ情報から構成される。
機能を小さい部品にして持たせているので、状態の管理もしやすくて再利用も容易にできる。
##MVC(MVW)設計
MVC(MVW)はアプリを設計するときの考えの一つ。「Model(データ)」「View(画面)」「Controller(コントローラ)」の頭文字をとってMVCといい、「Controller(コントローラ)」の代わりに「Whatever(何か)」にしたものがMVWであり、MVCはこれらを組み合わせることで、1つのアプリを動作させる考え方である。
#双方向データバインディング
AngularはHTMLを拡張して、より便利な機能を提供していて、その1つが双方向データバインディングと呼ばれる機能。
アプリでユーザ画面(View)で操作した内容をデータ(Model)の反映、データ(Model)の内容が変わったときに画面(View)に反映する必要がある。なので、Viewを操作するときはModelに反映するために、画面からHTMLの要素を取得して要素をデータとして処理、処理したデータを画面に反映するプログラムを書く必要がある。
#開発言語はTypeScriptが良い
AngularはTypeScriptをベースとして実装されているので、ドキュメントもTypeScriptが多い。標準的なJSやGoogleが開発したaltJSであるDartでも利用できるが、TypeScriptを用いるのが無難。
#モダンな記述を組み合わせている
Angularは新しいJS技術を積極的に利用している。Angularの理解を深めることで、技術についても理解できるので、Angularを学ぶことで最新のJS技術を取得できる。
#参考文献
Angularの特徴とは? 開発環境を構築するには?
【初心者必見】Angularとは?いまさら聞けない基礎を学ぼう