Wicket の単純さ (つまり、Wicket はより単純なシステムの私見) とクライアントでの GWT の応答性 (GWT のクライアント側の状態と JavaScript - 潜在的に複雑なクライアント側のコード) の議論とは別に、スケーリングに対する GWT のより大きな可能性についての議論は何ですか? Wicket で GWT を使用していますか?
個人的には Wicket の開発を数多く行ってきましたが、GWT についてはかなり前にざっと見ただけでした。
Wicket の単純さ (つまり、Wicket はより単純なシステムの私見) とクライアントでの GWT の応答性 (GWT のクライアント側の状態と JavaScript - 潜在的に複雑なクライアント側のコード) の議論とは別に、スケーリングに対する GWT のより大きな可能性についての議論は何ですか? Wicket で GWT を使用していますか?
個人的には Wicket の開発を数多く行ってきましたが、GWT についてはかなり前にざっと見ただけでした。
利点は、基本的に、GWT が JavaScript ベースのクライアントを構築するためのツールであることです。そのため、JavaScript ベースのクライアントが必要な場合に最適です。
Wicket はサーバーを中心としており、Javascript をステートレス ページに簡単に埋め込むことができますが、サーバー側の状態処理はより自然なアプローチです。
アーキテクチャが大きく異なることに注意する必要があります。
GWT を使用すると、アーキテクチャはクライアント サーバー (ブラウザ上のシック クライアント) に変わり、サーバーに対して「プロシージャ」(サービス) を呼び出し、データを送受信します。
Wicket (および JSF や Tapestry などの他のサーバー側中心のコンポーネント フレームワーク) では、アーキテクチャはより「伝統的な」3 層であり、送受信されるのはページまたはページの断片であり、純粋なデータではありません。
確かに両方をブレンドして他のアーキテクチャに適応させることはできますが、それはあまり自然なことではありません。
人々は「どちらが使いやすいか」(バックグラウンドに応じて完全に主観的なものです)、または「どちらがより美しく、より多くのコンポーネントを備えているか」に注目する傾向がありますが、アプローチに影響を与えるアーキテクチャの違いを過小評価してはなりません。セキュリティやスケーラビリティなどの側面を処理する必要があります。
過去数か月間、GWT ベースのプロジェクトに携わってきました。私は何年も Wicket 開発チームの一員であり、変化を楽しみにしており、GWT (私は常にもう 1 つの優れた Java フレームワークとして宣伝してきました) に多くのことを期待していました。
正直なところ、GWT の操作に関してはがっかりしています。私は、実際には私のチーム全体が生産性に大きな打撃を受けたと感じています。理論的には、GWT は優れています。しかし、フレームワークの癖と制限、平凡なエラー報告 (特にシリアライゼーション エラーの場合)、長いコンパイル時間 (3 分から 10 分の間であり、私たちのプロジェクトはまだそれほど大きくはありません) を考慮に入れると、すべてが完了しても、すべてのブラウザーをテストし、微調整と回避策を見つける必要があるという事実、それが大量の初期ダウンロードを生成するという事実 (ほぼ MB、徐々に削減していますが、多くの場合など)など、Wicket の方がはるかに簡単かつ迅速に作業できると思います。
私は GWT での作業が嫌いではありません。それでも、ほとんどの Java フレームワークよりもはるかに優れています。それを使って作業することで、もっと多くのことを期待しただけです。私はそれがおそらくWicketよりも優れているとさえ思っていました. しかし、結局のところ、それは私見ではありません。願わくば、GWT 2.0 が多くのことを改善し、Eclipse プラグインの癖のいくつかもすぐに正されることを願っています。
GWTに対するWicketの利点の1つは、Javascriptが有効になっていないクライアントにフォールバックを提供したい場合にWicketが処理できることです。GWTはJavascriptに完全に対応しており、Wicketを使用すると正常に機能を低下させることができます。
GWT を wicket (または同様) と比較するのは公平ではありません。なぜなら、それらは実際には 2 つの異なる陣営から来ているからです。前者は JavaScript フロントエンド アプリケーションを構築するためのフレームワークであり、後者は従来の Java Web アプリケーション フレームワークです。
したがって、以下のポイントは GWT と wicket の比較ではなく、高度な JavaScript/AJAX Web アプリケーションに GWT を使用することを決定したときにコンパイルされた一般的なリストです。
私の意見では、GWT の最大の利点は、Java という 1 つのプログラミング言語で作業できることであり、Java がもたらすすべての利点を備えています。
CSS と共に、それらは強力なペアを形成します。
別の言い方をすれば、Javascript と HTMLをほとんど忘れることができます。
それが利点であるかどうかは、ほとんどの場合、スキルと要件によって異なります。これと同じ議論が社内で行われ、最終的に 1 つのチームが Wicket と別の GWT を選択しました。
GWT の背後にある優れた点は、Java だけで作業できることです。彼らは RPC で素晴らしい仕事をして、プログラマーにとってほぼ透過的にしました。クライアント側とサーバー側が完全に定義されたアプリケーションではなく、デスクトップ アプリのようにコーディングしていると感じることがよくあります。
私が見つけたGWTに対するウィケットの他の利点はほとんどありません。