Angular
Angular(アンギュラー)は、Googleと個人や企業のコミュニティによって開発されているTypeScriptベースのオープンソースのフロントエンドWebアプリケーションフレームワークである。
![]() | |
作者 | |
---|---|
初版 | 2.0 / 2016年9月14日[1] |
最新版 |
9.1.10
/ 2020年6月9日[2] |
最新評価版 | 12.0.0-next.8 - 2021年4月7日[3] [±] |
リポジトリ |
github |
プログラミング 言語 | TypeScript |
サポート状況 | アクティブ |
種別 | JavaScript, シングルページアプリケーション |
ライセンス | MIT License |
公式サイト |
angular |
概要
AngularJSにはパフォーマンス面と機能の分かり易さについて多くの欠点があったため、AngularJSを構築した開発チームが1年かけて1からコードを書き直した[4]。一部の機能や名称は引き継がれているが、基本的に別のフレームワークである。
Angularはコンポーネントベースのアーキテクチャを採用している。すべてのAngularアプリケーションには、ルートコンポーネントと呼ばれる少なくとも1つのコンポーネントがある。各コンポーネントには、ビジネスロジックの処理を担当する関連クラスと、ビューレイヤを表すテンプレートがある。複数のコンポーネントを積み重ねてモジュールを作成することができ、各モジュールはそれ自体で機能単位を形成する。
特徴
Angularには、以下のような特徴がある。
- シングルページアプリケーション(SPA)の開発に向いている。
- フルスタックフレームワークであり、単独でフロントエンド開発に必要な機能が一通り揃っている。
- コンポーネント指向アーキテクチャである。
AngularとAngularJSの違い
AngularとAngularJSは、以下の点が異なる。
- AngularにはScopeやコントローラーという概念が無い。代わりに、コンポーネントベースのアーキテクチャを使用する。
- 推奨される開発言語がJavaScriptからTypeScriptに変更された。
- データバインド等の文法が変更できる。
- フィルター(Filters)はパイプ(Pipes)に変更された[5]。機能はほぼ同じである。
名称について
2012年6月にリリースされたバージョン1は「Angular 1」や「AngularJS」と呼ばれており、その後、2016年9月にリリースされたバージョン2は「Angular v2」または「Angular2+」と呼ばれていた[6][7]。ただし、後述の通りバージョンリリースサイクルが早いため、バージョン2以降は単に「Angular」と呼ばれるようになった。
バージョンおよびリリースサイクル
Angularは半年ごとにメジャーリリースを行う[8]。
バージョン2
Angular 2.0は、ng-Europeカンファレンス22-23で発表された[9][10]。バージョン2.0の劇的な変更は開発者の間で論争を引き起こした。2015年4月30日、Angular開発者はAngular 2がAlphaからDeveloper Previewに移行したことを発表した[11]。Angular 2は2015年12月にベータ版に移行し[12]、最初のリリース候補は2016年5月に公開された[13]。最終版は2016年9月14日にリリースされた。
バージョン4
2016年12月13日にAngular 4が発表された。すでにv3.3.0として配布されていたルーターパッケージのバージョンのずれによる混乱を避けるために3をスキップしている[14]。最終版は2017年3月23日にリリースされた[15]。Angular 4はAngular 2と下位互換性がある[16]。
バージョン5
Angular 5は2017年11月1日にリリースされた[17]。Angular 5の主な改善点には、プログレッシブWebアプリケーションのサポート、ビルドオプティマイザ、およびマテリアルデザインに関連する改善点がある[18]。
バージョン6
Angular 6は2018年5月4日にリリースされた[19]。これは、基礎となるフレームワークにはあまり焦点を当てておらず、ツールチェーンと、将来的にAngularで素早く移動できるようにすることに重点を置いたメジャーリリースである。追加要素は、ng update
、ng add
、Angular要素、Angular Material + CDKコンポーネント、Angular Materialスターターコンポーネント、CLIワークスペース、ライブラリサポート、Tree Shakable Provider、アニメーションパフォーマンスの向上、およびRxJS v6である。
バージョン7
Angular 7は2018年10月18日にリリースされた。追加要素は、アプリケーションパフォーマンス、Angular Material & CDK、仮想スクロール、選択のアクセシビリティの向上に関するアップデート、カスタム要素にWeb標準を使用したコンテンツプロジェクション、およびTypeScript 3.1、RxJS 6.3、Node 10に関する依存関係のアップデートをサポート(まだノード8をサポートしている)である[20]。
バージョン8
Angular 8は2019年5月28日にリリースされた。遅延読み込み、Web Worker、TypeScript 3.4のサポート、およびオプトイン(Opt-in)プレビューとしてのAngular Ivyの差分読み込みを特徴としている[21]。
バージョン9
Angular 9は2020年2月6日にリリースされた。バージョン8で実験的機能として搭載されていた「Ivy」コンパイラーとランタイムがデフォルトとして採用された。「Ivy」は従来よりもバンドルサイズの軽減、ビルド速度の向上、型チェックの改善、国際化(i18n)の改善、テストの改善、CSSクラスとスタイルバインディングの改善、デバッグの改善が行われている。その他、TypeScript 3.7のサポート、YouTubeおよびGoogleマップのコンポーネント導入、コンポーネントハーネス[22]、IDEと言語サービスの改善が行われている[23]。
今後のリリース
各バージョンは、以前のリリースと下位互換性があると期待されている。 Googleは、年2回のアップグレードを行うことを約束した。
サポート方針とスケジュール
すべてのメジャーリリースは18か月間サポートされている。 これは6か月間の積極的なサポートで構成され、その間に定期的にスケジュールされたアップデートとパッチがリリースされる。 その後12ヶ月の長期サポート(LTS)が続き、その間は重要な修正とセキュリティパッチのみがリリースされる。
脚注
- ^ “Trigular, version 2: proprioception-reinforcement”. blogspot.com (2016年9月14日). 2017年3月18日閲覧。
- ^ “angular/CHANGELOG.md”. GitHub (2020年6月9日). 2020年6月10日閲覧。
- ^ 引用エラー: 無効な
<ref>
タグです。「changelog
」という名前の注釈に対するテキストが指定されていません - ^ “AngularJS and Angular 2+: a Detailed Comparison” (英語). SitePoint (2018年4月6日). 2019年1月5日閲覧。
- ^ “Angular Docs”. angular.io. 2019年1月4日閲覧。
- ^ “r/Angular2” (英語). reddit. 2019年1月5日閲覧。
- ^ “AngularJS and Angular 2+: a Detailed Comparison” (英語). SitePoint (2018年4月6日). 2019年1月5日閲覧。
- ^ “Angular Docs”. angular.io. 2019年1月5日閲覧。
- ^ “GoogleがAngular 2を正式リリース! 未来のウェブ標準を意識した新しいフレームワーク”. ICS MEDIA (2016年9月16日). 2019年1月5日閲覧。
- ^ “ng-europe - The first AngularJS European conference in Paris, France.”. 2015.ngeurope.org. 2019年1月5日閲覧。
- ^ Angular (2015年4月30日). “Angular 2 moves from Alpha to Developer Preview! Dev guide and API docs now available at http://angular.io/docs/js/latest/” (英語). @angular. 2019年1月5日閲覧。
- ^ Green, Brad. “Angular 2 Beta” (英語). 2019年1月5日閲覧。
- ^ One framework. Mobile & desktop. Contribute to angular/angular development by creating an account on GitHub, Angular, (2019-01-05) 2019年1月5日閲覧。
- ^ Minar, Igor. “Ok... let me explain: it's going to be Angular 4.0, or just Angular” (英語). 2019年1月5日閲覧。
- ^ Fluin, Stephen. “Angular 4.0.0 Now Available” (英語). 2019年1月5日閲覧。
- ^ “Angular 4 coming in 2017, to be backwards compatible with Angular 2”. react-etc.net. 2019年1月5日閲覧。
- ^ Fluin, Stephen (2017年11月1日). “Version 5.0.0 of Angular Now Available”. Angular Blog. 2019年1月5日閲覧。
- ^ Krill, Paul (2017年9月18日). “AngularJS 5 JavaScript framework delayed” (英語). InfoWorld. 2019年1月5日閲覧。
- ^ Fluin, Stephen (2018年5月3日). “Version 6 of Angular Now Available”. Angular Blog. 2019年1月5日閲覧。
- ^ Fluin, Stephen (2018年10月18日). “Version 7 of Angular — CLI Prompts, Virtual Scroll, Drag and Drop and more”. Angular Blog. 2019年1月5日閲覧。
- ^ Fluin, Stephen (2019年2月8日). “A plan for version 8.0 and Ivy”. Angular Blog. 2019年6月7日閲覧。
- ^ “Angular Material - Component test harnesses”. 2020年3月17日閲覧。
- ^ Fluin, Stephen (2020年2月7日). “Version 9 of Angular Now Available — Project Ivy has arrived!”. Angular Blog. 2020年3月17日閲覧。