そこにあるすべてのGWT達人への質問-そこにある最高のGWTウィジェットライブラリはどれですか?なぜ?
回答に基づいたリスト:
- デフォルト
- Sencha GXT
- スマートGWT
- ヴァーディン
- GWTブートストラップ
- GwtBootstrap3
- Rocket GWT(非アクティブ)
- 畳(非アクティブ)
- ErraiFramework
- GWTMaterialDesign
sнаконец- новоепоколениеоснованноенаJsInterop:
そこにあるすべてのGWT達人への質問-そこにある最高のGWTウィジェットライブラリはどれですか?なぜ?
回答に基づいたリスト:
sнаконец- новоепоколениеоснованноенаJsInterop:
回答:
これらのライブラリにバインドしないでください。Vanilla GWTを使用してプロジェクトの構造を作成します。特に、MVPパターンとイベントバスを使用します。GWTを使用してクライアントアプリケーションを最適に設計する方法については、Googleの記事を参照してください:MVPアプリの構築
その後、これらのライブラリの任意のウィジェット(たとえば、テーブル、コンボボックス、日付ピッカーなど)を使用して、プロジェクトに組み込むことができます。バニラGWTでそれを行う方法がわからない場合にのみ、拡張コンポーネントを使用してください。このようにして、これらのライブラリーに縛られないようにしてください。これらは、デモアプリケーションに表示されない何かを実行しようとすると常に苦痛であり、多くのバグが含まれており、サポートはせいぜい不十分です。
ウィジェットを探す方法は次の順序に従う必要があります。
他のライブラリーに注意して、私はそれらのライブラリーと一緒に作業しました(まだ悪夢があります)。
「最高」の意味によって異なります。一番よく見える?最高のAPI?独自のカスタムニーズに拡張するのに最適ですか?
たとえば、私はアプリケーションで使用するテーブルクラスを評価していました。これまでGWT-Extを使用してきましたが、パフォーマンスの問題が多く、必要なサイズのテーブルを作成するのが非常に困難です。私はGWT-Mosaicに非常に近づきましたが、代わりにGWTインキュベーターでウィジェットを構築することにしました。
それで、なぜ私はこの選択をしたのですか?そこにはあまりにも多くのライブラリーが独自のライブラリーを持っているようです。一部のMVCフレームワーク(コードベースの他の部分と完全に互換性がない可能性があります)に完全に食い込む必要があるか、誰かの新しい複雑なレイアウトシステムを採用する必要があるか、またはできないという事実に耐えなければなりません実際にコードをデバッグします(そのJSNIラッパーのため)。
誤解しないでください。GWTインキュベーターは完璧ではありません...ウィジェットにはある程度の流動性があります。私の場合、これが最善の選択でした。それは私に良い(しかし完璧ではない)を与えます:
だから...(私にとって)答えは次の組み合わせです:
(私が追加する必要があります:私が言及している「手荷物」は必ずしも悪いことではありません。しかし、ウィジェットが1つまたは2つだけ必要な場合は、作業を完了するために必要なものとその方法の基準を上げることができます。良いyoueアプリケーションが見えます。)
このコンポーネントライブラリGWT Bootstrapを参照してください。これ は、Twitter Bootstrapのgwtでの実装です。
GWTだけでもかなり良いライブラリです。
上記のすべてを使用したわけではありませんが、Ext GWTを推奨できます。
言及されているライブラリのほとんどはオープンソースではなく、さらに悪いことに、JavaScriptライブラリのラッパーにすぎません。GWTの威力は、アプリケーションがさまざまなブラウザーで動作するという点にあります(特に「ビッグ」ブラウザー用のコード生成のため)。これらのJavaScriptの基礎となるライブラリーは多くの問題を引き起こす可能性があります。
jgindin GWT IncubatorとGWT Mosaicは今のところ最高です。
「最高」とは言えませんが、最近はGWT-Extを使用しています。いくつかの長所と短所があります。
長所:
短所:
私の経験では、サードパーティのライブラリには常に多くの問題があることがわかっています。最善の方法-よく知られ、よく作られたテクノロジー自体と独自のコンポーネントを使用することです。それらを記述して保守するのにより長い時間がかかる場合がありますが、TCOは常に低いレベルです。
サードパーティのライブラリは、多くの場合、予期しない計画を破る可能性があります。そして、問題の原因を見つけて修正することは困難です。
したがって、プレーンなGWTを使用することをお勧めします。
ウィジェットをそのまま使用したい場合はSmartGWTで問題ないと思いますが、Gxtスケジューラーで行うようにウィジェットを拡張または変更する場合は、Ext-GWTの方が適していると思います。
私にとってEXT-GWT(別名GXT)は現在利用可能な最高のライブラリーです。6か月のプロジェクトで使用し、グリッド、ツリーなどの多くの定義済みコンポーネントを使用して多くのことを支援します。
gwt-mosaicのユーザーグループはあまりアクティブではないようで、Wikiスニペット以外のユーザーマニュアルは見つかりませんでした。gwt-mosaicは2つの興味深いツールを紹介してくれました。
1)gwt-mosaicには、アプリのJSパーツ(RPCハンドラー、ウィジェットコールバック、ウィジェットセッター)のパブリッシュ/サブスクライブツールであるTibcoのPageBusのラッパーが含まれています。これは、gwtのイベントバスに代わるものです。
2)gwt-mosaicは、データをウィジェットにバインドしてウィジェットを検証するためのBeans Binding(http://code.google.com/p/gwt-beans-binding/)の使用を推奨しています。
smartgwtは、完全な機能セットとサポートのために安くはありません。使用しないテーマファイルを削除しない限り、jarはappengineには大きすぎます。彼らはサーバー側にもエンジニアリングに投資しています。
ext-gwtの動作が遅く、JSファイルが大きいと聞きました。
gwtウィジェットインキュベーターは非推奨に見えます。新しいグリッドでデラックスグリッドがリリースされると思います。
ルックアンドフィール、バインディング、および検証の標準がないため、ウィジェットライブラリの相互運用性が妨げられています。
間違いなくSmartGWTではありません。彼らのフレームワークは肥大化し、非常に中途半端な性質を持っています。彼らは100万のウィジェットを持っていますが、それらをプロジェクトで機能させることは簡単ではありません。データソースは、非常に大きな方法でデータを管理するプロセスを複雑にします。たとえば、データソース内のデータにアクセスするには、fecthを使用して頻繁に検査する必要があります。結果をキャッシュすることはできますが、それらを調査することは必ずしも容易ではありません。
RPCも弱くて複雑な領域です。ドキュメントとフォーラムに矛盾する情報があります。ドキュメントには、dsの一部としてカスタム操作を使用することはめったにないことが書かれていますが、フォーラムはそれが完全に問題ないことを教えてくれます。これらのツールを効果的に使用することを学ぶことは、最高の日には困難を伴います。
彼らは製品を売るでしょう。たとえば、charting / analyticsパッケージにはグラフが含まれていますが、これらのグラフには負の値が表示されず、軸ラベルを意味のある方法で操作できません。そして、彼らはフォーラムでこれについての質問に「そうそう」という態度で公然と答えます。「これはセールスポイントの1つですが、3.0xに追加する予定はありません。ロードマップに記載されています。」彼らが私にパッケージを売ったとき、彼らは私が負の値を表示できないとは決して言っていませんでした。本当に?負の値を表示できなくてもよいグラフはどれですか。不幸な同形の顧客の数を描いた1つだけを考えることができます。
これらの人から離れて、ExtJS、JQuery、quxdooなどの競合他社のサイトにアクセスしてください。実際に地位を確立していて、実際に優れたソリューションを提供しているプロジェクトがいくつかあります。
この製品を評価する場合は十分に注意してください。見た目はいいですが、それを使用してプロジェクトを開始してから約2週間で、私の意味がわかります。ウィジェットは中途半端で、データソースは非常に複雑で、フォーラムのサポートに料金を支払ったからといって、実際にはsnide以外のものが得られるわけではありません。彼らは一般的に非常に傲慢ではありませんでした。
幸運を祈ります。開発時間と保守性を重視する場合は、この製品から離れてください。最後にもう1つ。WebサイトでMVCの例を見てください。ラベルが「MVC」と書かれていること以外は、文字通りMVCとは関係ありません。彼らは、そのようなフレームワークは経験の浅い開発者向けであり、そのような概念は実際のプログラミングには役立たないことをあなたに納得させようとします...
Googleのデフォルトライブラリは、最も強力なライブラリです。
Ext GWTはベルとホイッスルを追加しますが、それ以外はGoogleのものに似ています。
現在、GWT Mosaicウィジェットが気に入っています。私たちはext-JSを使用しており、過去に独自のウィジェットをロールバックしました。ext-JSライセンスとバルクは私たちにとって問題でした。自分で転がすことは、私たちがやりたいことではありません。Mosaicは、プロジェクトが成熟するにつれ、より幸せな中間基盤になると考えたい幸せな中間基盤を提供します。
smartGWTは遅く、例が不足しており、基本的な質問でさえ答えを見つけるのは非常に困難です。つまり、このフォーラムで私の未回答の質問をすべて表示します。smartgwtをダンプしています。
GWTポートレットを使用して、大きなHRポータルといくつかの小さなアプリケーションを構築しました。プロジェクトの焦点は、ウィジェットのコレクションを構築することではなく、単純なプログラミングモデルを作成することです。
ウェブサイトから:
GWTポートレットは、GWT(Google Web Toolkit)アプリケーションを構築するための無料のオープンソースWebフレームワークです。非常にシンプルで生産的でありながら強力なプログラミングモデルを定義して、見栄えのよいモジュール式のGWTアプリケーションを構築します。
プログラミングモデルは、ポータルサーバー(Liferay、JBoss Portalなど)用のJSR168ポートレットを作成することと多少似ています。「ポータル」は、GWTポートレットフレームワークをライブラリとして使用して構築されたアプリケーションです。アプリケーションの機能は、疎結合のポートレットとして開発され、それぞれにオプションのサーバー側DataProviderがあります。
SpiffyUIをチェックしてください:www.spiffyui.org
これは単なるウィジェットライブラリではなく、複雑なUI / UX GWTフレームワークです。
私たちは2年以上にわたってgwtプロジェクトを行っており、デフォルトのウィジェットを使用しています。独自のオープンソースライブラリを作成して、デフォルトのライブラリまたは独自のウィジェット拡張を自動入力しました。確認してください。これはgwt-jetと呼ばれています。大規模な実稼働環境で使用しているため、十分にテストされており、時間をかけて安全に成長することを願っています。