Ext JS

Ext JS
Ext 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 は、AjaxDHTMLDOMスクリプティングといった技術を使ったインタラクティブなウェブアプリケーションRIA)を構築するためのJavaScriptライブラリ。

元々はYUIを拡張するアドオンライブラリであり、jQueryPrototypeとの相互運用性も確保している。バージョン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などのソフトウェアドキュメンテーションも一新された[2]

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

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 では変わっている[4]。このような開発側の主張する条件に従う者もいるが、そもそもLGPLのライセンス条項[5]は Ext JS 開発者がどのような条件をつけようとそれをどう使っても自由だと保障していると主張する者もいる。これに関しては若干の論争があったが、結果として Ext JS はLGPLからGPLにライセンスを変更した。

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

脚注

  1. ^ |Sencha.com
  2. ^ Ext 2.2.1 - API Documentation
  3. ^ migration guide
  4. ^ ExtJS forum thread on the license change
  5. ^ http://www.gnu.org/licenses/lgpl-3.0.txt
  6. ^ 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 日本語版
低レベル
高レベル
AmigaOS対応
  • BOOPSI(英語版)
  • Magic User Interface(英語版)
  • ReAction GUI(英語版)
  • Zune(英語版)
Mac OS/macOS対応
  • Cocoa (API)
  • MacApp(英語版)
  • MacZoop(英語版)
  • PowerPlant(英語版)
Windows対応
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++(英語版)
  • Visual Component Framework(英語版)
  • wxWidgets
  • YAAF(英語版)
  • XForms
  • XVT(英語版)
Objective-C
Flash
Java
デスクトップ
ウェブ
JavaScript
Common Lisp
Object Pascal
Perl
  • WxPerl(英語版)
  • Perl/Tk
PHP
  • PHP-GTK(英語版)
  • PHP-Qt(英語版)
  • WxPHP(英語版)
Python
Ruby
  • Shoes
  • QtRuby(英語版)
XML
  • Ample SDK(英語版)
  • CougarXML(英語版)
  • GladeXML
  • Lively Kernel(英語版)
  • Pyjamas(英語版)
  • Rialto Toolkit(英語版)
  • XAML
  • XML User Interface(英語版)
  • XUL
  • Wt(英語版)
  • 一覧記事一覧(英語版)
  • カテゴリカテゴリ