AngularJS とは何ですか?導入、 Archi構造と特長
AngularJS とは何ですか?
AngularJS は、オープンソースの Model-View-Controller フレームワークであり、 Javaスクリプト フレームワーク。 AngularJS はおそらく、現在利用できる最新の Web フレームワークの中で最も人気のあるものの XNUMX つです。 このフレームワークは、主に単一ページ アプリケーションの開発に使用されます。 このフレームワークは、Google 自体の開発者グループによって開発されました。
Google の強力なサポートと幅広いコミュニティ フォーラムからのアイデアのおかげで、フレームワークは常に最新の状態に保たれています。また、市場の最新の開発トレンドも常に取り入れられています。
AngularJS Archi構造
Angular.js は MVC アーキテクチャに従います。MVC フレームワークの図は次のようになります。

- コントローラーはビジネス ロジックを持つレイヤーを表します。 ユーザー イベントは、コントローラー内に保存されている関数をトリガーします。 ユーザー イベントはコントローラーの一部です。
- ビューは、エンドユーザーに提供されるプレゼンテーション層を表すために使用されます。
- モデルはデータを表すために使用されます。モデル内のデータは、プリミティブ宣言のみを持つシンプルなものにすることができます。たとえば、学生向けアプリケーションを管理している場合、データ モデルには学生 ID と名前のみを含めることができます。または、構造化データ モデルを使用して複雑にすることもできます。自動車所有アプリケーションを管理している場合、エンジン容量、座席数などの観点から車両自体を定義する構造を持つことができます。
AngularJSの特徴
Angular には、市場における強力なフレームワークの 1 つとなる以下の重要な機能があります。
- MVC – このフレームワークは、次のような有名な概念に基づいて構築されています。 MVC (モデル-ビュー-コントローラー)。 これは、現代のすべての Web アプリケーションで使用されているデザイン パターンです。 このパターンは、ビジネス ロジック層、データ層、およびプレゼンテーション層を個別のセクションに分割することに基づいています。 さまざまなセクションへの分割は、それぞれをより簡単に管理できるようにするために行われます。
- データモデルバインディング – データを HTML コントロールにバインドするための特別なコードを記述する必要はありません。 これは、Angular でコードの一部を追加するだけで実行できます。
- 書くコードが少なくなる – DOM操作を大量に実行する場合 Javaスクリプト アプリケーションを設計するには、これを記述する必要がありました。 しかし、Angular を使用すると、DOM 操作のために記述する必要があるコードの量が驚くほど少なくなるでしょう。
- ユニット テスト 準備完了 – Google のデザイナーは Angular を開発しただけでなく、AngularJS アプリケーションの単体テストの設計に役立つ「Karma」と呼ばれるテスト フレームワークも開発しました。
AngularJS の利点
AngularJS の利点は次のとおりです。
- オープンソース フレームワークであるため、エラーや問題の数は最小限であることが期待できます。
- 双方向バインディング – Angular.jsはデータとプレゼンテーション層を同期させます。これで追加のコードを書く必要がなくなります。 JavaHTML コード内のデータと後でデータを同期するためのスクリプト コード。Angular.js はこれを自動的に実行します。どのコントロールがモデルのどの部分にバインドされるかを指定するだけです。
- ルーティング – Angular は、あるビューから別のビューに移動することを意味するルーティングを処理できます。 これはシングルページアプリケーションの重要な基本です。 ユーザーの操作に基づいて Web アプリケーションのさまざまな機能に移動できますが、同じページに留まったままになります。
- Angular は両方のテストをサポートします 単体テスト, 統合テスト.
- ディレクティブと呼ばれる独自の要素を提供することで HTML を拡張します。 大まかに言うと、ディレクティブは DOM 要素 (属性、要素名、コメントや CSS クラスなど) 上のマーカーであり、指定された動作をその DOM 要素に付加するように AngularJS の HTML コンパイラーに指示します。 これらのディレクティブは、既存の HTML 要素の機能を拡張して、Web アプリケーションにさらなる機能を与えるのに役立ちます。