Angular

出典: フリー百科事典『ウィキペディア(Wikipedia)』
ナビゲーションに移動 検索に移動
Angular
Angular full color logo.svg
作者 Google
初版 2.0 / 2016年9月14日 (4年前) (2016-09-14)[1]
最新版 12.0.5[2] ウィキデータを編集 - 2021年6月16日 (5日前) (2021-06-16)
最新評価版
12.0.0-rc.3 / 2021年5月10日 (42日前) (2021-05-10)[3]
リポジトリ github.com/angular/angular
プログラミング
言語
TypeScript
サポート状況 アクティブ
種別 JavaScript, シングルページアプリケーション
ライセンス MIT License
公式サイト angular.io
テンプレートを表示

Angular(アンギュラー)は、Googleと個人や企業のコミュニティによって開発されているTypeScriptベースのオープンソースフロントエンドWebアプリケーションフレームワークである。

概要[編集]

AngularJSにはパフォーマンス面と機能の分かり易さについて多くの欠点があったため、AngularJSを構築した開発チームが1年かけて1からコードを書き直した[4]。一部の機能や名称は引き継がれているが、基本的に別のフレームワークである。

Angularはコンポーネントベースのアーキテクチャを採用している。すべてのAngularアプリケーションには、ルートコンポーネントと呼ばれる少なくとも1つのコンポーネントがある。各コンポーネントには、ビジネスロジックの処理を担当する関連クラスと、ビューレイヤを表すテンプレートがある。複数のコンポーネントを積み重ねてモジュールを作成することができ、各モジュールはそれ自体で機能単位を形成する。

特徴[編集]

Angularアプリケーションのアーキテクチャ

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 updateng 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マップのコンポーネント導入、Angular Materialのコンポーネントをテストする際にAPIを使ってAngular Materialのコンポーネントを操作することができる「コンポーネントテストハーネス」[22]、IDEと言語サービスの改善が行われている[23]

バージョン10[編集]

Angular 10は2020年6月24日にリリースされた。これは通常のリリースサイクルよりも2ヶ月前倒しでのリリースである。Angular 10は以前のアップデートよりも小規模であり、新機能にはAngular Material UIコンポーネントの新しい日付範囲ピッカーとCommonJSインポートの警告機能が含まれる。CommonJSインポートの警告機能は、CommonJSにパッケージ化された依存関係は動作の遅延とアプリケーションの肥大化を発生させる可能性があるため、ECMAScriptモジュールバンドルに置き換えるように開発者に警告を出す。ng newで新しいワークスペースを作成する際に-- strictオプションが利用可能になった。このフラグを有効にすると、テンプレートチェックがstrictモードになり、TypeScriptにstrictオプションが設定されるため、事前にバグをキャッチしやすくなる。その他、TypeScript 3.9、TSLib 2.0、TSLint 6をサポートしている。[24]

バージョン11[編集]

Angular 11は2020年11月11日にリリースされた。このバージョンでは、ビルド時にアプリケーション内でリンクされているフォントをダウンロードしてインライン化を行う「フォントの自動インライン化」、Angular Materialの全てのコンポーネントのコンポーネントテストハーネスの追加、ビルド結果のCLI出力フォーマットの改善、テンプレート内の型推論を行えるようにした言語サービスの改善、ホットモジュール交換(HMR)の設定簡易化、依存関係をインストールする際のAngularの互換性コンパイラ(ngcc)の更新プロセス速度及びTypeScript v4.0のコンパイル速度の高速化が行われました。また、TSLintからtypescript-eslint, angular-eslint, tslint-to-eslint-configへの移行を推奨している。ブラウザサポートについては、Internet Explorer 9Internet Explorer 10Internet Explorer Mobileのサポートが削除された。[25]

バージョン12[編集]

Angular 12は2021年5月13日にリリースされた。バージョン8以前におけるデフォルトのコンパイラとランタイムである「View Engine」が非推奨となり、将来のバージョンで「View Engine」は削除される予定である。また、コマンドラインオプションの厳密静的解析モード(-- strict)と本番ビルドモード(--prod)がデフォルトで有効となった。TypeScript 3.7で導入されたNULL合体演算子(??)がテンプレートで利用可能になった。その他、 Internet Explorer 11が非推奨となり、バージョン13でInternet Explorer 11のサポートが削除される予定である。TypeScript 4.2、Webpack 5のサポートを追加している。[26]

今後のリリース[編集]

各バージョンは、以前のリリースと下位互換性があると期待されている。 Googleは、年2回のアップグレードを行うことを約束した。

サポート方針とスケジュール[編集]

すべてのメジャーリリースは18か月間サポートされている。 これは6か月間の積極的なサポートで構成され、その間に定期的にスケジュールされたアップデートとパッチがリリースされる。 その後12ヶ月の長期サポート(LTS)が続き、その間は重要な修正とセキュリティパッチのみがリリースされる。

脚注[編集]

[脚注の使い方]
  1. ^ Trigular, version 2: proprioception-reinforcement”. blogspot.com (2016年9月14日). 2017年3月18日閲覧。
  2. ^ "Release 12.0.5"; 閲覧日: 2021年6月21日; 出版日: 2021年6月16日.
  3. ^ angular/CHANGELOG.md”. 2021年4月28日閲覧。
  4. ^ AngularJS and Angular 2+: a Detailed Comparison” (英語). SitePoint (2018年4月6日). 2019年1月5日閲覧。
  5. ^ Angular Docs”. angular.io. 2019年1月4日閲覧。
  6. ^ r/Angular2” (英語). reddit. 2019年1月5日閲覧。
  7. ^ AngularJS and Angular 2+: a Detailed Comparison” (英語). SitePoint (2018年4月6日). 2019年1月5日閲覧。
  8. ^ Angular Docs”. angular.io. 2019年1月5日閲覧。
  9. ^ GoogleがAngular 2を正式リリース! 未来のウェブ標準を意識した新しいフレームワーク” (日本語). ICS MEDIA (2016年9月16日). 2019年1月5日閲覧。
  10. ^ ng-europe - The first AngularJS European conference in Paris, France.”. 2015.ngeurope.org. 2019年1月5日閲覧。
  11. ^ 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日閲覧。
  12. ^ Green, Brad. “Angular 2 Beta” (英語). 2019年1月5日閲覧。
  13. ^ One framework. Mobile & desktop. Contribute to angular/angular development by creating an account on GitHub, Angular, (2019-01-05), https://github.com/angular/angular 2019年1月5日閲覧。 
  14. ^ Minar, Igor. “Ok... let me explain: it's going to be Angular 4.0, or just Angular” (英語). 2019年1月5日閲覧。
  15. ^ Fluin, Stephen. “Angular 4.0.0 Now Available” (英語). 2019年1月5日閲覧。
  16. ^ Angular 4 coming in 2017, to be backwards compatible with Angular 2”. react-etc.net. 2019年1月5日閲覧。
  17. ^ Fluin, Stephen (2017年11月1日). “Version 5.0.0 of Angular Now Available”. Angular Blog. 2019年1月5日閲覧。
  18. ^ Krill, Paul (2017年9月18日). “AngularJS 5 JavaScript framework delayed” (英語). InfoWorld. 2019年1月5日閲覧。
  19. ^ Fluin, Stephen (2018年5月3日). “Version 6 of Angular Now Available”. Angular Blog. 2019年1月5日閲覧。
  20. ^ Fluin, Stephen (2018年10月18日). “Version 7 of Angular — CLI Prompts, Virtual Scroll, Drag and Drop and more”. Angular Blog. 2019年1月5日閲覧。
  21. ^ Fluin, Stephen (2019年2月8日). “A plan for version 8.0 and Ivy”. Angular Blog. 2019年6月7日閲覧。
  22. ^ Angular Material - Component test harnesses”. 2020年3月17日閲覧。
  23. ^ Fluin, Stephen (2020年2月7日). “Version 9 of Angular Now Available — Project Ivy has arrived!”. Angular Blog. 2020年3月17日閲覧。
  24. ^ Fluin, Stephen (2020年6月25日). “Version 10 of Angular Now Available”. Angular Blog. 2020年6月25日閲覧。
  25. ^ Techson, Mark (2020年11月12日). “Version 11 of Angular Now Available” (英語). Medium. 2020年12月4日閲覧。
  26. ^ Techson, Mark (2021年5月13日). “Angular v12 is now available” (英語). 2021年5月19日閲覧。

関連項目[編集]

外部リンク[編集]