JavaScriptとJavaの明らかな違いに加えて、SmartClientまたはSmartGWTのいずれかを使用する際の関連する違いは何ですか?
6 に答える
SmartGWT は SmartClient の GWT ラッパーです。これは、おっしゃる通り、Java を使用して SmartGWT アプリを作成できることを意味します。
私の経験から、プログラミング時に重要な唯一の違いは、GWT ラッパーは js コンポーネントを直接使用するよりも少し制限が厳しいということです。たとえば、Java から TreeGrid をプログラムでスクロールするのは地獄です。基礎となるテーブルの本体 (爆破されたものをスクロールするために取得する必要がある) は SmartGWT を介して公開されていませんが、もちろん js からは簡単に到達できます。
全体として、これらの違いに基づいて js コンポーネントと gwt ラッパーのみを選択することはしませんが、プロジェクトの他の要因を検討します。どのテクニックが最も快適ですか? どのくらいカスタマイズする予定ですか?
私の場合、コードの保守性。
私たちはパイソンハウスです。ただし、クライアント側のコードには GWT を選択します。最初は GXT でしたが、現在は SmartGWT を使用しています。
私たちはJavaが好きではありませんが、JSはもっと好きではありません.注文、いくつかのウィジェットのライブラリを維持し、オブジェクトを拡張してカスタム機能を提供するなど.JSまたはJavaでこれを行う間、オプションは明らかでした.Java側. ここでは再利用可能なコンポーネントを記述します。現在は、クライアント側の最小限のコードを記述し、コンポーネントのみを再利用し、REST を使用して Python バックエンドと通信します。
SmartGWT が SmartClient よりも冗長であることはわかっていますが、Netbeans のオートコンプリート (ここでは Eclipse を使用している同僚もいます) を使用すると、文書化されたすべてのメソッドに直接アクセスできます。機能。
SmartGWT には、強力なエディターを使用できるという利点があります。
独自のコードを簡単にデバッグできます (ただし、smartclient コード自体に飛び込むにはあまり役に立ちません)。
Eclipse/NetBeans のすべてのオートコンプリート機能が手元にあります。SmartClient/Gwt を使い始めると、エディターがクラスや利用可能なメソッド、およびクラス/メソッドが実際に行う基本的なドキュメントを一覧表示できるため、探しているものを見つけるのに役立ちます。ドキュメントをクロールする時間を大幅に節約できます
私たちはJavascript(SmartGWTなし)を使用することを選択しました...私はその方法を好みますが、私たちのチームメンバーの一部(Javascriptの初心者)はSmartGWTの方法を好むでしょう。どちらにも長所と短所があります:
SmartGWTを使用する利点の1つは、すべてがJavascriptにレンダリングされる前に、すべてが最初にJavaコンパイラによってコンパイルされるため、コンパイル時エラーが発生することです。
SmartGWTの欠点の1つは、基盤となる完全なJavascriptSmartclientAPIを公開しないことです。つまり、より高度な処理を実行したい場合は、とにかくJavascriptで実行する必要が生じる可能性があります。
SmartGWTのもう1つの欠点は、生産性の面で、テストするすべての変更が、面倒なJava EEコンパイル/デプロイプロセスを通過する必要があることです。一方、Javascriptで行う場合は、変更することでクライアント側のコードをより速く変更できます。コンパイル/デプロイプロセス全体を必要とせずに、.jsファイルを直接。
Banang : ListGrid / TreeGrid 本体にアクセスするための API が Smart GWT で公開されるようになりました。