web-dev-qa-db-ja.com

extjsを使用することの長所と短所は何ですか?

私のプロジェクトの1つで、誰かがextjsの使用を勧めてくれました。私はextjsについてほとんど知りません。私はjQueryを使用してすべてのプロジェクトを実行しました。私はあなたの多くがextjsについてよく知っていることを知っています。

extjsを使用することの長所と短所を教えてください。

25
Anoop

以下は、ExtJSの主な長所と短所の一部です。

長所

  1. ExtJSは、単純なラベル、複雑なグリッドへのtextBoxボタン、ドラッグアンドドロップパネルなどのウィジェットのスーパーセットのようなものです。また、リモートサーバーメソッドを呼び出すためのリモート処理のデモも提供します。

  2. チュートリアル、サンプル、ユーザーコミュニティを含む非常に優れたドキュメントがあります。

  3. アクティブで現在最も採用されているjavascriptRIAフレームワーク

  4. 優れたコード品質/読みやすさ

  5. ウィジェットの素晴らしいセットは、私たちが望む可能性のあるすべてを実行します。速いようです、すべてのバージョンは新しい改善をもたらします。

短所

  1. フットプリント-ライブラリのサイズは500KBです(mod_gzipを使用すると150KBに削減できます)。 Web上のホームページの読み込み時間は長くなります。

  2. CSS –迷子になりやすい。正しいクラス名を見つけるのは難しい

  3. HTML –divと過度に複雑な生成コードでいっぱいです。 FireBugを使用してもデバッグが困難です。

  4. 変更されたGPL3.0ライセンス。オープンソースアプリケーションは無料ですが、商用のクローズドソースアプリケーションは有料です。

  5. ExtJsを使用すると、GUIは一種のデスクトップでリッチになると私たちは信じています。カスタマイズは簡単には実現できません。

  6. 単純なものでもロードするには、数行のコーディングが必要です。これは、プレーンなhtmlまたはjQueryでより簡単です。

  7. デバッグは非常に簡単ではありません。 Javascriptフレームワークの中で、ホストモードでのデバッグが少し優れているのはGWTだけです。

  8. ユーザーが特定のページをブックマークすることはできません。オブジェクトはDOM操作によってレンダリングされるため、検索エンジンでページにインデックスを付けることはできません。

  9. かなり経験豊富な開発者が必要です。

  10. ディスプレイ全体がEXTでないと、これを使用する方法がわかりません。私は私たちがすでに持っているものに統合できるものを好みます。

参照: ExtJs-長所と短所

お役に立てれば。

25
AlphaMale

前の回答はすでに受け入れられていますが、いくつか明確にしておきたい点があります。

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)を検索してください 十分にカバーされています

14
Brian Moeskau

フレームワークで何をしようとしているのかによって、どちらを使用するかが決まります。

ExtJS

extJSフレームワークが0個の手書きHTMLの隣でページに一度ロードされる単一ページRIAアプリケーションに最適です。これは、フレームワークがアプリケーション内のすべてを管理することを意味します。


JQuery

ユースケースは大きく異なります。サーバー側のフレームワークが(JSP、GSP、ASPなどを介して)HTMLを生成し、それぞれにJQueryライブラリを含めることでこれらのページに機能を追加します。


ExtJS短所:

  1. 複雑なフレームワーク-気の弱い人向けではありません:)
  2. 急な学習曲線
  3. バグがあります-はい、あります。ただし、ほとんどの問題は、フレームワークを正しく使用しておらず、ドキュメントを十分に理解していないことから発生します。
  4. 進化するフレームワーク-これは+と-の両方と見なすことができますが、今年は最大7つのリリースがあります。

ExtJSの長所:

  1. 現在利用可能なコンポーネントとウィジェットの最も完全なセットを備えた、真に用途の広いクライアント側MVCフレームワーク。
  2. 拡張可能。文字通りExt.extend()はあなたが最初にすることです。
  3. 綺麗な。すぐに使用できるテーマは非常によく設計されているため、テーマのスキルがない(指を指さない)ほとんどの開発者は、真にプロフェッショナルで見栄えの良いWebアプリを作成できます。
  4. ドキュメントは、ライブラリ、API、またはオープンソースプロジェクトの中で私が見た中で断然最高です。ライブコードサンプルを含むAPIドキュメント(いくつかの穴がありますが)を完了し、微調整して何が起こるかを確認できます+ソースコード。ライブラリのほとんどにまたがる素晴らしい例。 MVCからテーマまでの最も重要なトピックに関する優れたガイド。ビデオライブラリですら。このドキュメントは最近大幅に更新されたので、過去6か月間見たことがない場合は、見てください。
  5. フォーラムは非常に活発で、多くの主要な専門家が日常的に積極的に参加しています。
  6. ユーザー拡張機能(UX)-大規模なユーザーコミュニティは、驚くほど多くの創造的なソリューションにつながります。
  7. 巨大です!それは非常に多くの素晴らしいコンポーネントを持っているので、私は認識を超えて何かを本当に拡張する必要はありませんでした。学習曲線について言及しましたか?
  8. MVC-自尊心のあるRIAアプリのMVCフレームワークは必須です
  9. 構築されたツール
  10. SASSとCompassによるテーマのサポート
  11. ...もっとたくさんあります。

免責事項:私は元欲求不満のExtJS開発者であり、最終的には学習曲線上で十分に楽しんでいます:)

  • (コミュニティウィキとして公開)
11
dbrin