Ext JS

Ext JS は、Ajax、DHTML、DOMスクリプティングといった技術を使ったインタラクティブなウェブアプリケーション（RIA）を構築するためのJavaScriptライブラリ。

元々はYUIを拡張するアドオンライブラリであり、jQueryとPrototypeとの相互運用性も確保している。バージョン1.1では、他のライブラリに依存する部分がなくなり、オプションで別のライブラリも使えるようになった。バージョン2.0では、YUI、jQuery、Prototypeと同時に利用することも、単独で利用することもできるようになった。

モバイル用は、同じ開発元であるSencha社からSencha Touchとして提供されている。

特徴

GUIコントロール 
Ext JS は豊富なGUIベースのフォームコントロール（ウィジェット）を持っていて、ウェブアプリケーションで利用できる。以下のものがある。

 テキストフィールドとテキストエリア入力コントロール
 ポップアップの日付選択機能付きの日付フィールド
 数値フィールド
 リストボックスとコンボボックス
 ラジオボタンとチェックボックス
 HTMLエディタコントロール
 グリッドコントロール（リードオンリーとエディットモードがあり、ソート可能データ、ロック/ドラッグ可能カラム、その他機能を装備）
 ツリーコントロール
 タブパネル
 ツールバー
 デスクトップアプリケーション風のメニュー
 リージョンパネル（フォームを複数のサブセクションに分割できる）
 スライダー
 ベクターグラフィックス チャート

これらコントロールの多くは、Ajaxを使ってWebサーバとやり取りできる。

アプリケーションサポート 
Ext JS は以下のようなアプリケーションサポート機能を持っている。
 モーダルなダイアログボックス
 ユーザー入力を即時に検証
 状態管理
 ページ内要素を操作できるDOMセレクタクラス
 データ管理に使えるデータストア
 JSONおよびXMLフォーマットのデータを生成し管理できるクラス

Ext 2.0 
2007年12月4日にリリースされた Ext JS 2.0 は、デスクトップにより近いインタフェースと機能を提供できるとされていた。また、APIなどのソフトウェアドキュメンテーションも一新された。

Ext JS 2.0 は 1.1 との後方互換を確保しておらず、そのためにマイグレーションガイドを作って対処した。

Ext 3.0 
Ext JS のバージョン3.0は、2009年6月6日にリリースされた。
このバージョンではREST通信のサポートと新しいExt.Directサーバーサイドプラットフォームが追加された。標準の表示コンポーネントにフラッシュによるチャートとListViewエレメントが追加された。バージョン2.0のコードと後方互換性があった。

Ext JS 4.0 
Ext JSのバージョン4.0は、2011年4月26日にリリースされた。
このバージョンアップではクラス構造が完全に変更され、
データパッケージの変更、SVGやVMLを使ったアニメーションとドローパッケージ、新しいチャートやテーマ設定といった改定がなされた。またMVC(モデル・ビュー・コントローラー)スタイルでコードを管理することができるようになった。

Ext JS 5.0 
Ext JSのバージョン5.0は、2014年6月2日にリリースされた。このバージョンでは1つのコードベースでタッチデバイスに対応したデスクトップアプリケーションを構築することができ、MVVM、双方向データバインディング、レスポンシブレイアウト、グリッドに配置しデータの視覚化やビッグデータ分析に用いるウィジェットが使用できる。また、グラフ描画パッケージがタッチ操作に最適化され、金融チャート描画機能が追加された。

Ext JS 6.0 
Ext JSのバージョン6.0は、2016年3月29日にリリースされた。このバージョンでSencha Touchがマージされた。

ライセンスの変遷 
Ext JS のオープンソース版のライセンスはしばしば変更され、そのことが批判されてきた。バージョン2.0.2ではLGPLライセンスだったが、「個人的、教育的、非営利的利用に限る」とか「非オープンソースソフトウェアを除外しているオープンソースプロジェクトでの利用に限る」とか「ソフトウェア開発ライブラリやツールキットではない商用アプリケーションでの利用に限る」といった制限が付いていた。これらは Ext JS 2.1 では変わっている。このような開発側の主張する条件に従う者もいるが、そもそもLGPLのライセンス条項は Ext JS 開発者がどのような条件をつけようとそれをどう使っても自由だと保障していると主張する者もいる。これに関しては若干の論争があったが、結果として Ext JS はLGPLからGPLにライセンスを変更した。

2008年4月20日、Ext JS 2.1 は新たに完全な GPL 3.0 か商用ライセンスのどちらかを選択できるというデュアルライセンスでリリースされた。

脚注

外部リンク 
 Ext JS 公式サイト
 Ext 3.0 - API Documentation 日本語版

JavaScript