私のプロジェクトの1つで、誰かがextjsの使用を勧めてくれました。私はextjsについてほとんど知りません。私はjQueryを使用してすべてのプロジェクトを実行しました。私はあなたの多くがextjsについてよく知っていることを知っています。
extjsを使用することの長所と短所を教えてください。
以下は、ExtJSの主な長所と短所の一部です。
長所
ExtJSは、単純なラベル、複雑なグリッドへのtextBoxボタン、ドラッグアンドドロップパネルなどのウィジェットのスーパーセットのようなものです。また、リモートサーバーメソッドを呼び出すためのリモート処理のデモも提供します。
チュートリアル、サンプル、ユーザーコミュニティを含む非常に優れたドキュメントがあります。
アクティブで現在最も採用されているjavascriptRIAフレームワーク
優れたコード品質/読みやすさ
ウィジェットの素晴らしいセットは、私たちが望む可能性のあるすべてを実行します。速いようです、すべてのバージョンは新しい改善をもたらします。
短所
フットプリント-ライブラリのサイズは500KBです(mod_gzipを使用すると150KBに削減できます)。 Web上のホームページの読み込み時間は長くなります。
CSS –迷子になりやすい。正しいクラス名を見つけるのは難しい
HTML –divと過度に複雑な生成コードでいっぱいです。 FireBugを使用してもデバッグが困難です。
変更されたGPL3.0ライセンス。オープンソースアプリケーションは無料ですが、商用のクローズドソースアプリケーションは有料です。
ExtJsを使用すると、GUIは一種のデスクトップでリッチになると私たちは信じています。カスタマイズは簡単には実現できません。
単純なものでもロードするには、数行のコーディングが必要です。これは、プレーンなhtmlまたはjQueryでより簡単です。
デバッグは非常に簡単ではありません。 Javascriptフレームワークの中で、ホストモードでのデバッグが少し優れているのはGWTだけです。
ユーザーが特定のページをブックマークすることはできません。オブジェクトはDOM操作によってレンダリングされるため、検索エンジンでページにインデックスを付けることはできません。
かなり経験豊富な開発者が必要です。
ディスプレイ全体がEXTでないと、これを使用する方法がわかりません。私は私たちがすでに持っているものに統合できるものを好みます。
参照: ExtJs-長所と短所
お役に立てれば。
前の回答はすでに受け入れられていますが、いくつか明確にしておきたい点があります。
Extは「変更された」GPLライセンスを使用しません。これは、標準のGPLv3とSencha商用ライセンスの下で完全にデュアルライセンスされています。プラグイン/拡張機能の開発者などとの互換性をさらに高めるために FLOSS例外 がありますが、GPLライセンスは標準ライセンスです。
短所のリストは、一般的にはほとんど公正な点ですが、コンテキストがないと意味がありません。 Ext JSをjQueryと比較することも無意味です。つまり、リンゴとオレンジを比較します。 Ext JSを他の同等のRIAフレームワーク(Dojo、YUI、Sproutcore)と比較すると、フットプリント、CSS/HTMLの複雑さ、デバッグなどがかなり均一になります(または、少なくともより便利なコントラストを作成できます)。これらは、複雑なRIAフレームワークの要件にすぎないため、抽象的に「短所」であると言うだけでは、実際には正確ではありません。
いくつかの特定の点に関して、このリスト(ソース記事による)はExt3.0を参照しています。この記事の執筆時点での現在のバージョンは4.0.7です。合計コードフットプリントは実際には3.0以降増加していますが、Extには、アプリケーションの依存関係に基づいて最適化されたビルドを作成できる動的クラスシステムとビルドツールが付属しています。そうです、それは大きな総フットプリントを持っています、しかしいいえ、あなたはすべてを含める必要はありません。
CSS/HTMLの複雑さは、ExtJSでサポートされているウィジェットとレイアウトシステムの複雑さに基づいて与えられます。これはRIAの世界では非常に一般的であり、単純なjQueryプラグインとは比較できません。 Ext4.0は生成されたCSSでSASS/Compass btwを使用するようになったため、ソーススタイルのカスタマイズは3.0よりも実際にははるかに簡単になりました。
4.0ではデバッグもやや簡単ですが(これも新しいクラスシステムのため)、Java(GWT)のような静的に型付けされた言語よりも確かに難しいです。これはJavaScriptベースのフレームワークの問題です。 、Extだけではありません。
履歴/状態のサポート(両方ともExtが提供)を実装すれば、アプリでページをブックマークすることは確かに可能です。これはアプリ固有であるため(個々のウィジェットレベルでいくつかの自動状態管理があります)、実行する必要があることですが、それは確かに可能です。繰り返しますが、これは一般的なRIAの問題であり、Extに固有のものではありません。
私が同意する長所のリスト(文脈から外れて提示され、意味をなさないポイント5を除く)。実際、 documentation とヘルプガイドは、バージョン3.0以降ずっと良くなっています。 Ext JSと他のRIAフレームワークとの特定の比較が必要な場合は、以前にSO)を検索してください 十分にカバーされています 。
フレームワークで何をしようとしているのかによって、どちらを使用するかが決まります。
extJSフレームワークが0個の手書きHTMLの隣でページに一度ロードされる単一ページRIAアプリケーションに最適です。これは、フレームワークがアプリケーション内のすべてを管理することを意味します。
ユースケースは大きく異なります。サーバー側のフレームワークが(JSP、GSP、ASPなどを介して)HTMLを生成し、それぞれにJQueryライブラリを含めることでこれらのページに機能を追加します。
ExtJS短所:
ExtJSの長所:
免責事項:私は元欲求不満のExtJS開発者であり、最終的には学習曲線上で十分に楽しんでいます:)