AngularJS
![]() | |
開発元 | Google Inc. および コミュニティ |
---|---|
初版 | 2009年 |
最新版 |
2.0.0
/ 2016年9月15日 |
リポジトリ | |
プログラミング 言語 | TypeScript, JavaScript |
サポート状況 | アクティブ |
種別 | Webアプリケーションフレームワーク |
ライセンス | MIT License |
公式サイト |
www |
AngularJS(アンギュラージェイエス)、または Angular は、Googleと個人や企業のコミュニティによって開発されている、完全にJavaScriptで書かれたオープンソースのフロントエンドWebアプリケーションフレームワークである。MIT Licenseでライセンスされたフリーソフトウェアである。シングルページアプリケーションの開発において直面する多くの問題に取り組んでいる。JavaScriptコンポーネントは、クロスプラットフォームなモバイルアプリ開発用フレームワークであるApache Cordovaを補完する。クライアントサイド用のMVCおよびMVVMアーキテクチャを、リッチインターネットアプリケーションで一般的に用いられるコンポーネント群とともに提供することにより、そのようなアプリの開発とテストを簡単にすることを目的としている。
AngularJSはシングルページアプリケーション (SPA) の開発が可能なフレームワークで、一つのフレームワーク内で全ての機能が完結するフルスタックフレームワークであることが特徴として挙げられる。[1]
初版は、Miško HeveryとAdam Abronsによって2009年に発表され、2012年6月にバージョン1.0.0がリリースされた[2]。2016年9月にはアーキテクチャを一新したバージョン2.0がリリースされており、言語自体も一般的なJavaScriptから、引き続きJavaScriptも使用可能であるもののその拡張言語であるTypeScript推奨となっている。言語の変更もあり、フレームワークの名称もJSを取り除いた Angular へと変わっている。これに伴いフレームワーク自体の仕様も大幅に変更されており、1.xとは互換性がなくなっている。[1]
AngularJS フレームワークは、追加的なカスタムタグ属性が埋め込まれたHTMLを読むことにより起動される。Angularはこれらの属性をディレクティブとして解釈し、当該ページの入力または出力の一部分を、通常のJavaScript変数により表現されたモデルに結び付ける。これらのJavaScript変数の値は、コード内で設定できるほか、静的または動的なJSONリソースから取得することもできる。
AngularJS は、データベースにMongoDB、ウェブアプリケーションサーバーフレームワークにExpress.js、フロントエンドフレームワークにAngular.js、 実行環境にNode.jsを用いて構成されるMEANスタックのフロントエンド部分である。
脚注
- ^ a b “GoogleがAngular 2を正式リリース!未来のウェブ標準を意識した新しいフレームワーク”. ICS MEDIA (2016年9月16日). 2016年9月17日閲覧。
- ^ Better Web Templating with AngularJS 1.0 - Google Developers Blog
関連項目
Angular JS

AngularJSは、アプリケーションのビジネスロジックを定義するには命令型プログラミングがより適している一方、ユーザインターフェイスの作成やソフトウェアコンポーネントの連結には宣言型プログラミングを使うべきだという信条の下に作られている[1]。AngularJSフレームワークは、伝統的なHTMLに適合しつつ、モデルとビューを自動的に同期させられる双方向データ結合を通じて動的コンテンツを表示する拡張を加えたものである。その結果、Angular-JSでは、テスト容易性や生産性の向上をめざす目的の下で、明示的なDOM操作にはあまり重きをおかないようになっている。
AngularJS'の設計目標には次のようなものが含まれる:
- DOM操作をアプリケーションロジックから分離する。これの難しさは、コードがどのように構造化されているかによって劇的に影響される。
- アプリケーションのクライアントサイドとサーバーサイドを分離する。これによって、開発作業を同時並行で進められ、双方の側で再利用が可能になる。
- アプリをビルドしていく流れ(UIをデザインするところから、ビジネスロジックを書き、テストするまで)に構造を与える。
Angularは表示、データ、ロジック部分を分離するMVCパターンを実装している。 Angularでは、依存性の注入を用いて、伝統的にはサーバーサイドのサービスであった、ビュー依存のコントローラーなどをクライアントサイドのウェブアプリケーションに持ってくる。その結果、サーバー負荷のかなりの部分が削減される。
外部リンク
- ^ “What Is Angular?”. 2013年2月12日閲覧。