MontageJS
MontageはECMAScript5、HTML5、およびNode.jsで普及したCommonJSモジュールシステムで構築されている。
グラフィカルユーザーインターフェイスの機能を構築し、独立性の高いUIコンポーネントのセットおよびDOMインターフェイスコンポーネントの両方へのアクセスを提供する。
しかしながら、Mustacheライクなテンプレートシステムを使う代わりに、例えばMontageは開発者にスタンドアロンなウェブページの形でユーザーインターフェイスコンポーネントを作らせる。
アプリケーションは単なるコンポーネント化されたテンプレートであり、ウェブブラウザ上で直接オープンされることになる。 テンプレートはDOMスケルトンおよびいくらかのCSSを必要とするかもしれないが、識別されたDOMに接続されたコンポーネントのオブジェクトモデルと一緒に読み込まれる。
Montageは、文字列と値操作、シリアル化、および直接のグラフィカル·ユーザー·インターフェースに結び付けられていない他の機能を提供する。 これは、プロパティをバインドするためにgetterおよびsetterを使用するので、バインディングの数が大きくなっても性能を維持される。
管理された描画サイクルが実装されており、これはMontageアーキテクチャーのキーとなる部分であり、読み込みおよび書き込みの処理はスケジュール化された間隔で行われ、パフォーマンスの妥協がない。
2010年、マーチャントがモトローラ・モビリティに加わりモバイル向けの新しいフレームワークの仕事についたとき、アップルで学んだ教訓から、MVCデザインパターンを根底から利用してMontageアプリケーションを論理的に異なる単位に分割するようにMontageを構築した。
ロードマップ上の多くのコンポーネントが未だ発展途上にあるけれども、Montageは製品レベルのアプリケーションで用いられており、例えばそれはメモをとるためのScratchpad やTips & TricksなどのグーグルによるChromeアプリケーションである。
Webベースのアプリケーション開発の分野へのネイティブアプリケーションフレームワークのデザインやパターンを置き換えることは何も新しいものではない。Montageは、従来のフレームワーク(例えばCappuccinoなど)と異なっている場所は、Webのための新しい構文を導入しようとしないということである。
その代わりにモジュラー、自己完結型のコンポーネント、実際のオブジェクトやコレクションなどを使ったウェブスタックのトップに抽象化のクリーンなレイヤーを作成するためのCocoaライクのAPIを整備し、それによってあなたがそれらのオブジェクト、プロパティ、コレクションの変更を観察することを可能にする。
AngularJS
Backbone.js
Cappuccino
Ember.js