純粋なフロントエンドのコンパイルには、いくつかのオプションがあります。dariooはGoogle Web Toolkitについて言及しましたが、これはすべて非常に低レベルであり、そのままでは導入が困難です。GWT に基づいた GUI フレームワークがいくつかあります。
これら 3 つのうち、私たちの Java開発者はVaadinに最も満足していると聞いていますが、これらのフレームワークを使用して、本当にカスタマイズされた (これまでにない機能を備えた平均的なファンキーな Web サイト...) フロントエンド アプリを作成するのは非常に困難であり、表現力豊かなアプリが欲しくなるでしょう。 jQuery のような自由 JS ツールキットは、はるかに少ないコードで提供する必要があります。
次に、ハイブリッド (JSP ベース) があり、フロントエンド ファイルの自由度が高くなります (別名、フロントエンド開発者は、Java を知らなくても操作できます)。Java コードは JS をコンパイルしませんが、JSP で操作できるすぐに使えるソリューションを提供します。
Spring Roo は、Dojo フレームワークを提供/使用するフロントエンド全体を足場にします。Java 開発者によると、JSF2 も同様に良さそうに見えますが、Web サイトを見ると、Oracle の不安が染み込んでいます。
Dojo と YUI はどちらも、大規模な JS プロジェクトに特化した非常に拡張性のある成熟した JS フレームワークです。一方、jQuery は、かなりフラットなアーキテクチャを持つ小規模な JS プロジェクトに適しています。
Java ベースのソリューションを無視して、いつでもYUI、Dojo、さらにはMooToolsにフォールバックして、より多くのアーキテクチャ オプションを利用できます。
jQueryに固執することもできますが、imo. 大規模な JS/Html/CSS プロジェクトを維持するには、喜んで非常識で自虐的 (別名、フロントエンド/JS 開発者) である必要があります。jQuery は優れたツールキットですが、フレームワークとして提供するアーキテクチャ/構造ソリューションは貧弱です。 RequireJSなどの他の小さなツールキットと組み合わせて、自分で考案する必要があります。
私の最善のアドバイスは、ページの更新などを使用して、最初に JS を使用せずにアプリを構築することです。次に、JS レイヤーを適用し、そのレイヤー用の Ajax サービスを構築します。そうすれば、ビューと JS ソリューションは疎結合になり、理論的には、JSP にあまり触れずにいつでもフレームワークを切り替えることができます。