Angularによるプログラミングに関する世界観です。
JavaScript フレームワーク入門を参考にしています。
Google中心のフレームワーク。Angularは1と2で大きく変わった。Angular 1はMVC(MVVM)フレームワークだったが、Angular 2はコンポーネント指向のフレームワークとなっている。
Angularは「フルスタック(Web開発に必要とされるもの全部入り)」と言われる。単なるプログラム以外にも、テストのためのツールなども含まれる。
また、TypeScriptを基本的に使う。JavaScriptやDartにも対応はしているが、ドキュメントなどで使われるのはすべてTypeScriptである。
ただし、Angularは公式のドキュメントを読まないと駄目です。Angularを知るためには、公式のドキュメントが一番であると言われています。
(JavaScript フレームワーク入門を参考に執筆しました。)
AltJS/TypeScriptも参照のこと。
以下のようにnpmから導入できる。
npm install angular2
(以下はJavaScript フレームワーク入門を参考に執筆しました。)
Angularは、「import」、「@Component」、「export」でソースコードを記述する。
importで読み込みたいクラスをインポートし、@Componentでコンポーネントとしてセレクタ(selector、名前)とテンプレート(template、出力される中身)を記述し、exportを実行することでコンポーネントができあがる。
テンプレートの中に変数(たとえばmsg)に格納された文字列を埋め込むには{{msg}}のように記述する。export部分でこの変数の値を指定する。
これで、セレクタに記述したタグを使って、コンポーネントをHTMLの中で使用できる。たとえば、
import { Component } from '@angular/core'; @Component({ selector: 'hoge-app', template: '<p>{{msg}}</p>' }) export class HogeComponent { msg = 'My name is Assy.'; }
とした場合、HTML側から<hoge-app>~</hoge-app>で内容を出力できる。
2023.07.04編集
Googleがフルスタックフレームワークとして本気で作った割には、Qiitaなどを見ていると、Angularはあまり流行っていない印象があります。
Vue.jsやReactが標準的であり、Angularはあまり支持されていません。
その理由は、Googleプロダクトである、ということと、シンプルで無い、ということではないかと思います。Angularはフルスタックかつ高機能で、TypeScriptを全面的に使うなど、良く分からない仕様をしています。これに比べて、Vue.jsやReactはシンプルで、分かりやすく、使いやすいのです。
また、最近はGoogle熱が下火になってきているところがあります。なんでもかんでもGoogleプロダクトで、「Google色に染まりたい」という人が少なくなってきています。Facebookの作ったReactを使うのもその理由で、Facebookの方がかっこよくてスタイリッシュである、と思う人が増えてきていると思います。
Googleも参照のこと。
以下の書籍が参考になります。