GWT を使用して Web アプリを開発しています。HTML や CSS で何かをハードコーディングするよりも、すべてを Java でコーディングすることを強く希望します。私は GQuery (または GWTQuery) も使用していますが、GWTQuery でコンパイル時セレクターを使用すると、HTML や CSS をハードコードする必要がまったくなくなり、完全にハードコードされたアプリの速度とパフォーマンスが得られるかどうか疑問に思っています。
1 に答える
gwt と gquery とは何かを簡単に説明します。
1- GWT は、Java から最適化された JavaScript を生成するためのツールを提供する単なるコンパイラです。
2- GWT で生成された js は、主に DOM の変更に使用されます (計算、ビジネス コード、ajax などを除く)。
3- GWT はさらに、生の HTML の代わりにパネル、ボタン、ツリーなどを操作できるように、DOM の抽象化として一連のウィジェットを提供します。これは、ハードコードされた html と呼ばれるものだと思います。
4- しかし、GQuery は GWT を補完するものです。jQuery から取って Java に移植した一連のユーティリティを提供し、より少ないコードを記述します。より簡単な ajax 構文、安全なタイピングなどの他のクールな機能とは別に、主に DOM の操作 (ノードの選択、変更、アニメーション化など) を目的としています。 、promise、json/xml データ バインディングなど。
そうは言っても、gwt ウィジェットの抽象化によって dom と css を完全に忘れてしまうとは思わないでください。そのうち、独自のウィジェットを作成するか、現在のウィジェットをカスタマイズする必要があります。
DOM のほとんどを忘れる唯一の方法は、 gxt、mosaic、smart- gwtなどのサードパーティのウィジェット ライブラリを使用することだと思います。GWTウィジェットは難しいため、デザイナーが簡単にスタイルを設定できるように設計されています。 cssで。
一方、gwtquery は、DOM を忘れるのにまったく役立ちません。ページ内の静的 DOM 要素を強化したり、gwt ウィジェットの DOM を強化したり、html に基づいて独自の DOM 構造を作成したりするように設計されています。
gQueryコンパイル済みセレクターについては、動的セレクターと同じ方法で使用されます。DOM 要素を選択しますが、コンパイラーがそれらを最適化するため、パフォーマンスが大幅に向上します。あなたは彼らの目的を誤解していると思います。ハードコードされた HTML を排除する方法を提供していません。
更新: 最後のコメントに答えるために、GWT または GQUERY で静的な HTML または CSS を生成することはできません。これらは常に、.js ファイルに書き込まれる静的な JAVASCRIPT コードを生成します (または、リンカーによっては .html ファイルの javascript タグに書き込まれます)。