Ext JS 2.0 ウェブデスクトップ | |
| 初回リリース | 2007年1月8日 |
|---|---|
| 安定版リリース | 7.8.0 / 2024年5月21日[1] |
| タイプ | JavaScript ライブラリ |
| ライセンス | 独自 |
| Webサイト | www.sencha.com/products/extjs/ |
Ext JSは、 Ajax、DHTML、DOMスクリプトなどの技術を使用して、インタラクティブなクロスプラットフォームWebアプリケーション[2]を構築するためのJavaScript アプリケーションフレームワークです。単純なコンポーネントフレームワーク(たとえば、静的なページに動的なグリッドを作成する)として使用することもできますが、シングルページアプリケーション(SPA)を構築するための完全なフレームワークとしても使用できます。
Ext JS は、もともと2007 年 4 月 15 日に Jack Slocum によってYUIのアドオン ライブラリ拡張[3]として構築されましたが、 [4]バージョン 1.1 以降は外部ライブラリに依存しなくなりました。[5]現在、Ext JS は単一のスクリプト (すべてのクラスとコンポーネントが 1 つのファイルに含まれています) として使用することも、Sencha Cmd を使用してアプリケーションを構築することもできます。
特徴
GUI コントロール (コンポーネント)
Ext JS には、Web アプリケーション内で使用するGUIベースのフォーム コントロール (または「ウィジェット」) のセットが含まれています。
- テキストフィールドとテキストエリアの入力コントロール
- ポップアップ日付ピッカー付きの日付フィールド
- 数値フィールド
- リストボックスとコンボボックス
- ラジオボタンとチェックボックスコントロール
- HTML エディター コントロール
- グリッド コントロール(読み取り専用モードと編集モードの両方、並べ替え可能なデータ、ロックおよびドラッグ可能な列、その他さまざまな機能)
- 木の管理
- タブパネル
- ツールバー
- デスクトップアプリケーションスタイルのメニュー
- フォームを複数のサブセクションに分割できるようにする領域パネル
- スライダー
- ベクターグラフィックチャート
テーマとツールキット
Sencha はコンポーネントのスタイルを設定するためのテーマもいくつか提供しています。テーマを変更するには、CSS とテーマのスクリプトを変更するだけです。Sencha CMD を使用する場合は、アプリケーションの再構築が必要になる場合があります。[6]
すべてのコンポーネントは各テーマで動作しますが、外観と操作感は変わります。たとえば、Classic テーマにはタッチ デバイスに適さない小さい要素があります。Neptune Touch にはタブレットや電話に適した大きな要素があります。
Ext JS には、モダンツールキットとクラシックツールキットという 2 つの種類があります。これらは、利用可能なテーマが異なるだけでなく、API にも違いがあります。そのため、テーマの場合のように、ツールキット間で移行するのは簡単ではありません。2019 年に予定されている Ext JS 7.1 では、ツールキット間のいくつかの違いを解消する予定です。[更新が必要] [7]
プログラミングツールキット
Ext JS は、多くの機能を備えたクラスの構成です。例をいくつか挙げます。
- ブラウザの抽象レイヤー(例えば、
Ext.isArrayの代わりとして使用できるArray.isArray) - 状態管理(ストア)
- サーバー通信層(プロキシと
Ext.Ajax.request) - レイアウトとウィンドウ管理
- イベント管理(カスタム コンポーネントのカスタム イベントの作成を簡素化)
- ルーティング
階級制度
Ext JSには独自のクラスシステムがあります。[8] [9]クラスは で定義されExt.define、 でインスタンスを作成できますExt.create。一部のクラス(コンポーネントやストアなど)はエイリアスを持つことができ、エイリアスによって作成できます。コンポーネントのインスタンスは、親コンポーネントが作成されると自動的に作成されます。
クラスはカスタムクラスと組み込みクラスの両方を拡張できます。通常、カスタムコンポーネントは組み込みコンポーネントを拡張します(例:MyApp.views.ProductsTable組み込みを拡張しますExt.grid.Panel)。[10]
組み込みの動的ローダーがあるため、クラスは動的な依存関係 (オンデマンドでロードされる) を持つことができます。ExtJS には 2 種類の依存関係があります。requiresプロパティで宣言された依存関係は、クラスのインスタンスが作成される前にロードされます。プロパティで定義された依存関係は、usesクラスのインスタンスが作成された後にロードされる場合があります。
クラスをオーバーライドすることも可能です。組み込みクラスであってもです。組み込みクラスのオーバーライドは、例えば国際化[11]を提供したり、パッチを作成したりするのに便利です。オーバーライドされたクラスは新しい宣言とマージされます。各クラスは必要に応じて何度でもオーバーライドできます(例えば、i18nを提供してからl10nを提供するなど)。
Ext JS バージョン履歴
エクストラJS2.0
Ext JSバージョン2.0は2007年12月4日にリリースされました。このバージョンは、従来のデスクトップアプリケーションに類似したインターフェースと機能を提供するものとして宣伝されました。また、新しいユーザードキュメント、APIドキュメント、サンプルも宣伝されました。[12]
Ext JS 2.0はバージョン1.1との下位互換性を提供しませんでした。この問題を解決するために移行ガイドが開発されました。[13]
エクストラJS3.0
Ext JS バージョン 3.0 は、2009 年 7 月 6 日にリリースされました。このバージョンでは、RESTの通信サポートと新しい Ext.Direct サーバー側プラットフォームが追加されました。新しいフラッシュ チャートと ListView 要素が標準表示コンポーネントに追加されました。バージョン 2.0 コードとの下位互換性がありました。
エクストラJS4.0
Extフレームワークのバージョン4.0は、2011年4月26日にリリースされました。完全に改訂されたクラス構造、[14]改訂されたデータパッケージ、 SVGとVMLを使用するアニメーションと描画パッケージ、[15]改訂されたチャートとテーマが含まれています。また、モデル・ビュー・コントローラ(MVC)スタイルのコード編成 を提供するオプションのアーキテクチャも含まれています。
Ext JS 5.0
Ext JSフレームワークのバージョン5.0は、2014年6月2日にリリースされました。[16]これには、単一のコードベース、モデルビュービューモデル(MVVM)アーキテクチャ、双方向データバインディング、レスポンシブレイアウト、およびデータ視覚化とビッグデータ分析のためのグリッドセル内ウィジェットの追加をサポートするその他のコンポーネントアップグレードを使用して、タッチ対応デバイス上でデスクトップアプリを構築する機能が含まれています。[17] Ext JS 5には、アップグレードされたタッチに最適化されたチャートパッケージと追加の金融チャート機能も含まれています。
Ext JS 5 は、Safari 6+、Firefox、IE8+、Chrome、Opera 12+ などの最新および旧式のブラウザーをサポートしています。モバイル プラットフォームでは、Ext JS 5 は iOS 6 および 7 の Safari、Android 4.1+ の Chrome、IE10+ を実行する Windows 8 タッチ スクリーン デバイス (Surface やタッチ スクリーン ラップトップなど) をサポートしています。
重要: Ext JS 5 バージョンからは、5 人未満の開発者向けのライセンスを購入することはできません。
エクストJS6.0
Ext JSフレームワークのバージョン6.0は、2015年7月1日にリリースされました。[19] Sencha Touch(モバイル)フレームワークをExt JSに統合しました。 [20]
Ext JS 7.0
Ext JSフレームワークのバージョン7.0は、2019年8月29日にリリースされました。[21]このバージョンでは、モダンツールキットにいくつかの新しいコンポーネントが導入されました。クラシックツールキットにはマテリアルデザインテーマが採用されました。
煎茶
2010年6月15日、Ext JSとJQTouchおよびRaphaëlの統合が発表され[22]、 Sencha Inc.という新しい組織が設立されました。Ext JSは、Sencha Touch 、Sencha GWT(現在のSencha GXT)、Sencha Architect、Sencha Animator、Ext coreとともに、新しいSencha Webサイト[23]で引き続き主要製品として利用できます。
2017年8月23日、SenchaはIDERA ( Embarcadero Technologiesの親会社)に買収された。Embarcaderoは、 Delphi (主なプログラミング言語としてObject Pascalを採用)などの高速アプリケーション開発ソフトウェアの買収で知られている。 [24]
Sencha JetBrainsプラグイン
Sencha の JetBrains プラグインは、Sencha Frameworks と JetBrains ソフトウェアの融合を実現する統合開発環境ツールです。この統合は、ネイティブの JetBrains の動作と連携しながら、コード補完、検査、提案の形で実現されます。
エクステンド
Ext.NETはExtライブラリを統合したASP.NETコンポーネントフレームワークであり、 [25]現在のバージョン(2017年9月現在)は4.4で、ExtJSバージョン6.5.1が統合されています。
ライセンス履歴
YUI-Ext はBSD ライセンスの下で利用可能でした。2008 年 4 月、Ext に関連付けられたオープン ソース ライセンスが変更されました。バージョン 2.0.2 では、作成者は Ext は「個人、教育、または非営利目的で使用する予定」または「非オープン ソース ソフトウェアの使用を排除するオープン ソース プロジェクトで使用する」か「ソフトウェア開発ライブラリまたはツールキットではない商用アプリケーションで Ext を使用する」限り、LGPL スタイルのライセンスの下で利用可能であると述べていました。これは Ext 2.1 では当てはまりませんでした。[26] Ext の作成者は、LGPL のセクション 7 [27]の文言は、LGPL の下での配布が許可される前にライセンスが要求する「条件」には適用されず、セクション 7 で配布者が削除できる「追加の制限」には適用されないと主張しています。[28]
2008年4月20日、Ext 2.1は、完全なGPL 3.0ライセンスまたは独自のライセンスのオプションを許可する新しいデュアルライセンス構造の下でリリースされました。[29]
寛容なオープンソースライセンスから制限的なデュアルライセンスへのライセンスの変更は、Extユーザーコミュニティで論争を引き起こしました。[30] [31] [32] [33]
Senchaは自社のウェブサイトで商用ライセンスとGPLライセンスの条件の詳細を公開している。[34]
2018年11月、Senchaは無料だがExtJSを使用する個人または企業の年間収益によって制限されるCommunity Editionを発表しました。[35] [36]
参照
参考文献
- ^ 「Ext JS 7.8 がリリースされました」。Sencha.com。2024年 5 月 21 日。2024年5 月 21 日閲覧。
- ^ リッチインターネットアプリケーションも参照
- ^ 「YAHOO.ext 作者 Jack Slocum への 10 の質問」。2015 年 9 月 13 日時点のオリジナルよりアーカイブ。2015 年 8 月 11 日閲覧。
- ^ 「@jackslocum #ExtJS 1.0 は 2007 年 4 月 15 日にリリースされました。お誕生日おめでとうございます。@Sencha」。Jack Slocum。2013年 4 月 14 日閲覧。
- ^ バージョン 2.0 以降、Ext JS はさまざまな基本ライブラリまたはアダプタ (例: YUI、jQuery、Prototype ) と連携して動作することも、スタンドアロンで動作することもできます。複数の基本ライブラリで動作する機能は、4.0 リリースで削除されました。
- ^ 「テーマシステム | Ext JS 6.5.3」。Senchaドキュメント。2018 年 6 月 11 日閲覧。
- ^ 「Sencha 製品ロードマップのアップデート」。Sencha.com。2017年 11 月 29 日。2018 年 6 月 11 日閲覧。
- ^ 「クラスシステム | Ext JS 6.5.3」。Senchaドキュメント。2018年 6 月 11 日閲覧。
- ^ 「OOP の基礎 | Ext JS 6.5.3」。Senchaドキュメント。2018 年 6 月 11 日閲覧。
- ^ 「コンポーネント | Ext JS 6.5.3」。Senchaドキュメント。2018年 6 月 10 日閲覧。
- ^ 「ローカリゼーション | Ext JS 6.5.3」。Senchaドキュメント。2018年 6 月 11 日閲覧。
- ^ "Ext JS 4.0.7 - Sencha Docs". Extjs.com 。2012 年 11 月 19 日に取得。
- ^ [1] 2008年2月20日アーカイブ、Wayback Machine
- ^ 「Ext JS 4 へのカウントダウン: 動的ロードと新しいクラス システム | ブログ」。Sencha。2011 年 1 月 19 日。2012年 11 月 19 日閲覧。
- ^ 「Ext JS 4 へのカウントダウン: データ パッケージ | ブログ」。Sencha。2011 年 1 月 21 日。2012 年 11 月 19 日閲覧。
- ^ 「Sencha Ext JS 5 の発表 | ブログ」。Sencha。2014 年 6 月 2 日。2014 年 7 月 16 日閲覧。
- ^ 「Sencha Ext JS 5 がモバイルとデスクトップのアプリ開発を統合」。eWeek。2014 年 6 月 14 日。2014 年 9 月 11 日閲覧。
- ^ 「Sencha Ext JS 5 の効率化と統一」。Dr. Dobb's。2014 年 6 月 5 日。2014年 9 月 11 日閲覧。
- ^ 「EXT JS 6.0.2 リリースノート」 。2017年1 月 6 日閲覧。
- ^ 「Sencha が JavaScript 開発フレームワークを統合」 。2015年8 月 28 日閲覧。
- ^ 「EXT JS 7.0.0 のリリースノート」 。2019年7 月 9 日閲覧。
- ^ “Ext JS + jQTouch + Raphaël = Sencha | ブログ”.煎茶。 2010年6月14日。2012 年 11 月 19 日に取得。
- ^ 「デスクトップ Web アプリを構築するための業界トップの JavaScript フレームワーク | Sencha Ext JS | 製品」。Sencha。2012年 11 月 19 日閲覧。
- ^ Diamandopoulos, Cybele (2017 年 8 月 25 日)。「IDERA, Inc. が Sencha を買収し、開発者ツール事業を強化」sencha.com。Sencha , Inc. 2017 年9 月 12 日閲覧。
- ^ 「– Sencha Ext JS JavaScript ライブラリを統合した ASP.NET (WebForm + MVC) コンポーネント フレームワーク | WebForms および MVC アプリケーション用の ASP.NET Web コンポーネント。Sencha ExtJS フレームワークを統合します」。Ext.NET。2011 年 9 月 20 日。2012年 11 月 17 日閲覧。
- ^ 「ライセンスの変更?」 Extjs.com . 2022年5月6日閲覧。
- ^ 「GNU Lesser General Public License - バージョン3、2007年6月29日」。Gnu.org 。 2012年11月17日閲覧。
- ^ 「Sencha フォーラム、ExtJS ライセンスの変更」。
- ^ 「Ext JS 2.1 および Ext GWT 1.0 がリリース、Ext JS 3.0 のプレビュー | ブログ | Sencha」。Extjs.com。2008 年 4 月 22 日。2012年 11 月 19 日閲覧。
- ^ 2008 年 4 月 28 日月曜日午後 3:08、Tim O'Brien 著、Opinion (2008-04-28)。「ライセンス偽装が ExtJS と Java Service Wrapper を襲う: コミュニティの疎外 - O'Reilly ONJava ブログ」。Oreillynet.com。2012年 11 月 19 日閲覧。
{{cite web}}: CS1 maint: 数値名: 著者リスト (リンク) - ^ Asay, Matt (2008-02-25). 「ExtJS: オープンソースがまったくオープンでなくなるとき | The Open Road - CNET News」. News.cnet.com . 2012-11-19に閲覧。
- ^ 「Ext JS とオープンソース ライセンスの楽しみ」 Ajaxian 2008-04-26 . 2012-11-19に閲覧。
- ^ 「EXTJS をめぐる論争勃発 « The Byte Stops Here」 Bytestopshere.com 。2012年 11 月 19 日閲覧。
- ^ 「Sencha ライセンス | ウェブサイト | Sencha」。Sencha.com。2011 年 1 月 13 日。2016年 5 月 16 日閲覧。
- ^ 「Sencha Ext Community Edition を発表」。Sencha.com。2018年11 月 6 日。2019 年 12 月 6 日閲覧。
- ^ 「Ext JS Community Edition」。Sencha.com。2018年10月31日。 2019年12月6日閲覧。
文献
- Orchard, Leslie M.; Pehlivanian, Ara; Koon, Scott; Jones, Harley (2009 年 8 月 31 日)。プロフェッショナル JavaScript フレームワーク: Prototype、YUI、ExtJS、Dojo、MooTools (第 1 版)。Wrox Press。p . 888。ISBN 978-0-470-38459-6. 2011年7月6日時点のオリジナルよりアーカイブ。2009年8月15日閲覧。
- Frederick, Shea; Ramsay, Colin; 'Cutter' Blades, Steve (2008 年 11 月 28 日)。Learning Ext JS (第 1 版)。Packt Publishing。p . 299。ISBN 978-1-84719-514-2。
- ゴンザレス、アルマンド、ヴィラ、クリスフェル (2012-10-08)。Learning Ext JS 4 (第 1 版)。Packt Publishing。p . 434。ISBN 978-1-84951-684-6。
外部リンク
- Jack Slocum によるオリジナルの Ext JS ウェブサイト
