Ext JSExt JS 2.0 Webデスクトップ
開発元Jack Slocum, Brian Moeskau, Aaron Conran, Rich Waters
最新版7.6.0 / 2022年8月31日 (20か月前) (2022-08-31)[1]
種別JavaScriptライブラリ
ライセンスGPLv3 と商用ライセンス
公式サイト ⇒http://www.sencha.com/products/extjs/
テンプレートを表示
Ext JS は、Ajax、DHTML、DOMスクリプティングといった技術を使ったインタラクティブなウェブアプリケーション(RIA)を構築するためのJavaScriptライブラリ。
元々はYUI
を拡張するアドオンライブラリであり、jQueryとPrototypeとの相互運用性も確保している。バージョン1.1では、他のライブラリに依存する部分がなくなり、オプションで別のライブラリも使えるようになった。バージョン2.0では、YUI、jQuery、Prototypeと同時に利用することも、単独で利用することもできるようになった。モバイル用は、同じ開発元であるSencha社からSencha Touchとして提供されている。 Ext JS は豊富なGUIベースのフォームコントロール(ウィジェット)を持っていて、ウェブアプリケーションで利用できる。以下のものがある。
特徴
GUIコントロール
テキストフィールドとテキストエリア入力コントロール
ポップアップの日付選択機能付きの日付フィールド
数値フィールド
リストボックス
ラジオボタンとチェックボックス
HTMLエディタコントロール
グリッドコントロール(リードオンリーとエディットモードがあり、ソート可能データ、ロック/ドラッグ可能カラム、その他機能を装備)
ツリーコントロール
タブパネル
ツールバー
デスクトップアプリケーション風のメニュー
リージョンパネル(フォームを複数のサブセクションに分割できる)
スライダー
ベクターグラフィックス チャート
これらコントロールの多くは、Ajaxを使ってWebサーバとやり取りできる。 Ext JS は以下のようなアプリケーションサポート機能を持っている。 2007年12月4日にリリースされた Ext JS 2.0 は、デスクトップにより近いインタフェースと機能を提供できるとされていた。また、APIなどのソフトウェアドキュメンテーションも一新された[2]。 Ext JS 2.0 は 1.1 との後方互換を確保しておらず、そのためにマイグレーションガイドを作って対処した。[3] Ext JS のバージョン3.0は、2009年6月6日にリリースされた。このバージョンではREST通信のサポートと新しいExt.Directサーバーサイドプラットフォームが追加された。標準の表示コンポーネントにフラッシュによるチャートとListViewエレメントが追加された。バージョン2.0のコードと後方互換性があった。 Ext JSのバージョン4.0は、2011年4月26日にリリースされた。このバージョンアップではクラス構造が完全に変更され、データパッケージの変更、SVGやVMLを使ったアニメーションとドローパッケージ、新しいチャートやテーマ設定といった改定がなされた。またMVC(モデル・ビュー・コントローラー)スタイルでコードを管理することができるようになった。 Ext JSのバージョン5.0は、2014年6月2日にリリースされた。このバージョンでは1つのコードベースでタッチデバイスに対応したデスクトップアプリケーションを構築することができ、MVVM、双方向データバインディング、レスポンシブレイアウト、グリッドに配置しデータの視覚化やビッグデータ分析に用いるウィジェットが使用できる。また、グラフ描画パッケージがタッチ操作に最適化され、金融チャート描画機能が追加された。 Ext JSのバージョン6.0は、2016年3月29日にリリースされた。このバージョンでSencha Touchがマージされた。 Ext JS のオープンソース版のライセンスはしばしば変更され、そのことが批判されてきた。バージョン2.0.2ではLGPLライセンスだったが、「個人的、教育的、非営利的利用に限る」とか「非オープンソースソフトウェアを除外しているオープンソースプロジェクトでの利用に限る」とか「ソフトウェア開発ライブラリやツールキットではない商用アプリケーションでの利用に限る」といった制限が付いていた。これらは Ext JS 2.1 では変わっている[4]。このような開発側の主張する条件に従う者もいるが、そもそもLGPLのライセンス条項[5]は Ext JS 開発者がどのような条件をつけようとそれをどう使っても自由だと保障していると主張する者もいる。これに関しては若干の論争があったが、結果として Ext JS はLGPLからGPLにライセンスを変更した。 2008年4月20日、Ext JS 2.1 は新たに完全な GPL 3.0 か商用ライセンスのどちらかを選択できるというデュアルライセンスでリリースされた。[6]
アプリケーションサポート
モーダルなダイアログボックス
ユーザー入力を即時に検証
状態管理
ページ内要素を操作できるDOMセレクタクラス
データ管理に使えるデータストア
JSONおよびXMLフォーマットのデータを生成し管理できるクラス
Ext 2.0
Ext 3.0
Ext JS 4.0
Ext JS 5.0
Ext JS 6.0
ライセンスの変遷
脚注^ |Sencha.com
^ ⇒Ext 2.2.1 - API Documentation
^ ⇒migration guide
^ ⇒ExtJS forum thread on the license change
^ ⇒http://www.gnu.org/licenses/lgpl-3.0.txt
^ ⇒Ext JS 2.1 and Ext GWT 1.0 released, preview of Ext JS 3.0 2008年4月21日
外部リンク
⇒Ext JS 公式サイト
⇒Ext 3.0 - API Documentation 日本語版
表
話
編
歴
ウィジェット・ツールキット
低レベル
Macintosh Toolbox
Intrinsics
Intuition
Windows API
Xlib
XCB
高レベル
AmigaOS対応
BOOPSI(英語版)
Magic User Interface(英語版)
ReAction GUI(英語版)
Zune(英語版)
Mac OS/macOS対応
Cocoa (API)
MacApp(英語版)
MacZoop(英語版)
PowerPlant(英語版)
Windows対応
Microsoft Foundation Class Library
Object Windows Library(英語版)
Silverlight
SmartWin++(英語版)
Visual Component Library
Windows Forms
Windows Presentation Foundation
Windows Template Library
WinRT XAML(英語版)
X11下のUnix対応
Athena/Xaw(英語版)
InterViews(英語版)
LessTif
Motif
言語別
クロスプラットフォーム
CLI
Gtk#
Moonlight(英語版)
Tao(英語版)
C/C++
CEGUI(英語版)
Component Library for Cross Platform
FLTK
FOX toolkit(英語版)
OpenGL User Interface Library(英語版)
GTK
Juce(英語版)
Qt
Wt(英語版)
Tk
TnFOX(英語版)
Ultimate++(英語版)