AngularJS
AngularJSの双方向データ結合は最も注目すべき特長であり、バックエンドのサーバ側が担ってきたテンプレーティングの責任を大いに軽減するものである。その代わり、テンプレートは モデル内で定義されたscopeに含まれるデータに基づき、プレーンHTML内で書き込まれる。AngularJSの$scopeサービスがモデル部分の変更を検知し、コントローラを介してビュー内のHTML表現を変更する。同様に、ビュー側になされた全ての変更は、モデル側に反映される。これで積極的にDOMを操作する必要性を回避して、それによってウェブアプリをブートストラップしたり迅速にプロトタイプを作ったりすることを容易にしている。
AngularJSは、以前の処理で格納された値と現在の値をダーティ・チェック (dirty check) で比較して、モデルの値の変更を検出する仕組みである。この点、Ember.jsやBackbone.jsの、モデルの値が変更されたときにリスナーを叩く仕組みとは異なる。
0がリリースされた。2016年9月にはアーキテクチャを一新したバージョン2.0がリリースされており、言語自体も一般的なJavaScriptから、引き続きJavaScriptも使用可能であるもののその拡張言語であるTypeScript推奨となっている。言語の変更もあり、フレームワークの名称もJSを取り除いたAngularへと変わっている。これに伴いフレームワーク自体の仕様も大幅に変更されており、1.xとは互換性がなくなっている。
AngularJSフレームワークは、追加的なカスタムタグ属性が埋め込まれたHTMLを読むことにより起動される。AngularJSはこれらの属性をディレクティブとして解釈し、当該ページの入力または出力の一部分を、通常のJavaScript変数により表現されたモデルに結び付ける。これらのJavaScript変数の値は、コード内で設定できるほか、静的または動的なJSONリソースから取得することもできる。
AngularJS は、データベースにMongoDB、ウェブアプリケーションサーバーフレームワークにExpress.js、フロントエンドフレームワークにAngular.js、 実行環境にNode.jsを用いて構成されるMEANスタックのフロントエンド部分である。