マジセミドライブ

ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。

OSS情報

2020.01.01

【OSS情報アーカイブ】AngularJS

【OSS情報アーカイブ】AngularJS

※当記事に記載されている情報は、古くなっている場合があります。オフィシャルサイトで最新情報をご確認ください。

「AngularJS」とは

基本情報

概要

AngularJS(アンギュラージェイエス)とは、Googleとコミュニティにより開発されているオープンソースJavaScriptアプリケーションフレームワークです。ブラウザ上で動作するWebアプリケーション開発にMVCアーキテクチャを取り入れることを目的としています。

基本説明

AngularJSは、テンプレート言語としてHTMLを使用して、アプリケーションコンポーネントを分かりやすく簡潔にするためにHTML文法を拡張します。「データバインディング」と「DI(依存注入)」を通して大部分の余計なコードを排除できます。複雑なWebアプリのフロントエンドも効率よくシンプルに実装できます。

AngularJSの思想として、『UI構築とソフトウェアコンポーネントを同時に行う際には、 命令形のコードはビジネスロジックが表現するのに優れてはいるものの、 命令形のコードより宣言コードのほうが優れている』という信念のもとに構築されています。

AngularJSは、クライアント側JavaScriptのコントローラでデータモデルを管理し、画面(ビュー)とリアルタイムにデータを交換するようなアプリケーションに適したフレームワークです。

AngularJSは人気が高く、Googleが開発に携わっていることにより、安心して学習できるフレームワークです。

得意分野/不得意分野

AngularJSを使うと、設計/実装ルールがある程度強制されるため、それに従うことで、コード量削減や、品質の差を小さくするなど、生産性が大きく向上することが期待できます。

AngularJSはCRUDアプリケーション構築を念頭において設計されています。マスターメンテのようなCRUD系アプリ/業務系アプリなどの、各機能が独立した画面として存在し、フォームでデータ送受信を行うようなアプリに向いているとされています。

AngularJSは、高階層での抽象化により、アプリケーション開発を簡素化します。 ただし、抽象化は柔軟性を犠牲にするという一面もあるため、 すべてのアプリケーションがAngularJSに適しているわけではありません。

ゲームアプリ(変化するデータが大量、速度重視)や、シングルページアプリケーション(画面遷移しないWebアプリ)は、あまり向いていないとされています。

経緯

2009年 初版発表

2012年6月 バージョン1.0.0がリリース

主なポイント

■フルスタックフレームワーク
■HTMLテンプレート
■テンプレートエンジン(モデルの値をレイアウトするための機能)
■双方向データバインディング(モデル/ビュー間での値の変更を互いに反映させる機能)
■MVWパターン(MVCの派生パターン)
■ディレクティブ(条件分岐、繰り返し、イベント処理など、ビューで利用する定型的な機能を提供するカスタムタグ/属性)
■カスタムディレクティブ(再利用可能なコンポーネントと独自のマークアップ)
■ディープリンク(動的ページにリンクを設定)
■DI(依存性注入)
■フィルター(ビューに出力すべき値を加工する機能)
■ルーティング(URLに応じて適用するテンプレートを切り替え)
■Ajax通信機能
■REST志向
■フォームバリデーション
■サーバとの連携
■ローカライゼーション
■テスト環境(ユニットテスト、e2eテスト)

同様製品(概要情報)

同様な機能を提供する製品として、次のようなものがあります。

「Backbone.js」「Knockout.js」「Ember.js」など。

導入事例

世界中で人気が高まっています。

ライセンス情報

AngularJSのライセンスは、「MIT License」です。このライセンスに従うことを条件として、ソースコードの改変と公開が許可されています。

ダウンロード

ダウンロードページ

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

この記事のタグ一覧

おすすめの記事

【デジタル寺田の3分用語解説】自然言語でアプリ開発「 GitHub Spark 」とは?⚡

デジタル寺田の3分用語解説

2024.11.25

【デジタル寺田の3分用語解説】自然言語でアプリ開発「 GitHub Spark 」とは?⚡

「 GitHub Spark 」は、コードを書かずに自然言語でアプリを作成できるAIツールです。アイデアを言葉で伝えるだけで、AIが自動的にアプリを作成します。リアルタイム編集や自動デプロイに対応し、初心者でも簡単にアプリ開発を楽しめます。

【デジタル寺田の3分用語解説】「企業によるベンダー、SIerへの 訴訟 」とは?〜日本通運がアクセンチュアを提訴〜🏢

デジタル寺田の3分用語解説

2024.11.25

【デジタル寺田の3分用語解説】「企業によるベンダー、SIerへの 訴訟 」とは?〜日本通運がアクセンチュアを提訴〜🏢

企業がベンダー(SIer)に対する 訴訟 の背景や原因を解説します。日本通運とアクセンチュアの125億円訴訟に加え、他の大規模な紛争事例も紹介します。プロジェクト管理や要件定義の重要性を具体例で説明し、成功への鍵を探ります。

【デジタル寺田の3分用語解説】ガートナーが提唱する、生成AI時代の6つの 情報漏洩対策 とは? 🔒

デジタル寺田の3分用語解説

2024.11.25

【デジタル寺田の3分用語解説】ガートナーが提唱する、生成AI時代の6つの 情報漏洩対策 とは? 🔒

ガートナーは生成AI時代のリスクに対し、6つの「 情報漏洩対策 」を提唱しました。具体例には「アクセス制御の徹底」「データ・マップ作成」「責任の明確化」「技術評価と活用」「リテラシー向上」が含まれます。セキュリティ哲学の転換と実行が求められ、従業員への周知が鍵となります。