Angular ( Angular 2+とも呼ばれる)[ 5 ]は、TypeScriptベースの無料のオープンソースのシングルページWeb アプリケーション フレームワークです。Google と個人および企業のコミュニティによって開発されています。Angularは、AngularJSを構築したのと同じチームによる完全な書き直しです。Angular のエコシステムは、170 万人を超える開発者、ライブラリ作成者、コンテンツ作成者からなる多様なグループで構成されています。[ 6 ] Stack Overflow 開発者調査によると、Angular は最も一般的に使用されている Web フレームワークの 1 つです。[ 7 ]

Google は Angular を AngularJS をゼロから書き直したものとして設計しました。AngularJS とは異なり、Angular には「スコープ」やコントローラーの概念はありません。代わりに、コンポーネントの階層構造を主要なアーキテクチャ特性として使用します。[ 8 ] Angular は、プロパティ バインディングとイベント"[ ]"バインディングに焦点を当てた、異なる式構文を持っています。[ 9 ] Angular は、静的型付け、ジェネリクス、型注釈などの機能を導入したMicrosoftのTypeScript言語の使用を推奨しています。"( )"
Angularはコンポーネントベースのアーキテクチャを採用しており、開発者はカプセル化された再利用可能なユーザーインターフェイス要素を構築できます。各コンポーネントは独自のHTML、CSS、およびTypeScriptをカプセル化しているため、アプリケーションの個々の要素の管理とテストが容易になります。[ 10 ]
Angular は双方向データバインディングをサポートしており、モデルとビュー間でデータを同期します。これにより、ビューでの変更がモデルに自動的に反映され、その逆も同様になります。[ 11 ]
Angularには、コンポーネントやサービスへの依存関係の管理と注入を容易にする組み込みの依存性注入システムがあります。これにより、モジュール性が促進され、テストが容易になります。 [ 12 ]
AngularはHTMLをディレクティブと呼ばれる追加属性で拡張します。ディレクティブはDOM要素の動作や外観を変更する機能を提供します。[ 13 ]
Angularには、開発者がアプリケーションの状態とナビゲーションパスを定義および管理できるルーターが含まれており、複雑なルーティングを備えたシングルページアプリケーションを簡単に構築できます。[ 14 ]
Angular CLI(コマンドラインインターフェース)は、Angularアプリケーションの作成、構築、テスト、デプロイのためのツールセットを提供します。これにより、アプリケーションの迅速なセットアップが可能になり、継続的な開発タスクが簡素化されます。[ 15 ]
Angularはサーバーサイドレンダリングを公式にサポートしており、アプリケーションの読み込み時間とパフォーマンスが向上します。サーバーサイドレンダリングは、Webクローラーがコンテンツにアクセスしやすくすることで、検索エンジン最適化も強化します。[ 16 ]
Angular 2.0 は、2014 年 1 月 16 ~ 17 日に開催された 2014 NG-Conf カンファレンスの基調講演で発表されました。[ 17 ] 2015 年 4 月 30 日、Angular の開発者は、Angular 2 が Alpha から Developer Preview に移行したことを発表しました。[ 18 ] Angular 2 は 2015 年 12 月に Beta に移行し、[ 19 ]最初のリリース候補版は 2016 年 5 月に公開されました。[ 20 ]最終バージョンは 2016 年 9 月 14 日にリリースされました。
Angular バージョン 8 では、新しいコンパイルおよびレンダリング パイプラインである Ivy が導入され、Angular バージョン 9 では Ivy がデフォルトで有効になりました。Angular 13 では、非推奨となった以前のコンパイラである View Engine が削除されました。[ 21 ] Angular 14 ではスタンドアロン コンポーネントが導入され、Angular 17 ではそれがデフォルトとなり、モジュールの使用が軽視されるようになりました。[ 22 ]
2024年にリリースされたAngular 18では、スタンドアロンコンポーネントのデフォルトがtrueになったこと、組み込みの制御フロー構文、ゾーンレスサポートプレビュー、最新のSSRデバッグツールなど、いくつかの改善が導入されました。[44]
AngularJS の書き直しは「Angular 2」と呼ばれていましたが、これが開発者の間で混乱を招きました。明確化のため、チームは各フレームワークに別々の名前を使用するよう発表し、「AngularJS」は 1.X バージョンを指し、「JS」のない「Angular」はバージョン 2 以降を指すことになりました。[ 23 ]
v9以降、Angularチームはすべての新規アプリケーションをIvyコンパイラとランタイムを使用するように移行しました。彼らは出力バンドルのサイズと開発速度を改善するためにIvyに取り組む予定です。[ 40 ]
各バージョンは、以前のリリースとの下位互換性を持つ予定です。Angular開発チームは、年2回のアップグレードを実施することを約束しています。
すべての主要リリースは18か月間サポートされます。これは、定期的なアップデートとパッチがリリースされる6か月間のアクティブサポートと、重要な修正とセキュリティパッチのみがリリースされる12か月間の長期サポート(LTS)から構成されます。[ 41 ]
Angular バージョン v2 から v19 はサポート対象外となりました。[ 42 ]
Analog は、Angular をベースにViteとNitroを搭載したフルスタック Web メタフレームワークです。[ 44 ] [ 45 ]
Angular Material は、Angular でマテリアル デザインを実装するUIコンポーネント ライブラリです。 [ 46 ]これは、Google のマテリアル デザイン仕様に準拠した再利用可能なコンポーネントのコレクションを提供し、さまざまなデバイスやプラットフォーム間で一貫したユーザー インターフェイスを提供することを目指しています。
Angular Materialには、ボタン、カード、ダイアログ、グリッド、フォームコントロールなど、さまざまなUIコンポーネントが含まれています。これらのコンポーネントは、カスタマイズ可能で、Angularアプリケーションに簡単に統合できるように設計されています。Angular Materialのその他の機能には、レスポンシブデザイン、テーマ設定、アクセシビリティのサポートが含まれます。
2018年にAngular 6ではAngular Elementsが導入され、開発者はAngularコンポーネントをカスタムWeb要素としてパッケージ化できるようになりました。これはWebプラットフォームAPIのWebコンポーネントセットの一部です。[ 47 ] [ 48 ]
{{cite web}}: CS1 maint: url-status (リンク)