GWTのマイナスの経験

最近では、AJAXを使用せずにWebアプリケーションを開発するのは悪い形態と見なされています。 そこで、私は全世界に追いつき、Web 2.0テクノロジーに追いつくことにしました。 AJAXが何であるかというテーマでトピックを少し勉強したので、GWTフレームワークに焦点を合わせることにしました。 GWTのアイデアは、Java開発者にとって非常に魅力的です。 JavaScriptを知らなくてもAJAXアプリケーションを作成できます。 すべてのコードはjavaで記述され、後でjavascriptソースにコンパイルされます。

しばらくドキュメントを読んだ後、GWTアプリケーションは他のコンポーネント(インターフェース要素)を含む1つの主要コンポーネントであることに気付きました。 メインコンポーネントは、GWTアプリケーションへのエントリポイントです。 インターフェイス要素からのすべての要求は、メインコンポーネントのコントローラーを通過します。



APIを使用して多少なりとも快適に練習した後、SpringをGWTにねじ込むことにしました。 残念ながら、Spring plus GWTバンドルをオンザフライで使用すると失敗します。 その理由は、すべてのリクエストが特別なGWTサーブレットを通過するためです。 状況を評価した結果、SpringおよびGWTと友達を作るには、研究と実装にさらに時間が必要であることに気付きました。 これはすでに一種のシャーマニズムです。 しかし、Springを放棄したくなかったので、既成の実装を見つけることを期待してGoogleに乗り込みました。 結局のところ、すべてはそれほど悪くはありません。 このタスクにはネットワーク上に十分なソリューションがあります(http://code.google.com/p/gwtrpc-spring、technophiliac.wordpress.com/2008/08/24/giving-gwt-a-spring-in-its ... )

GWTでのプロジェクトの構築は複雑ではありません。 これにはAntスクリプトがあります。 個人的に、私はずっと前にプロジェクトを構築するためにantの使用をやめました。 Mavenはこれらの目的にははるかに便利です。 Googleで簡単な検索クエリを作成したところ、GWTでのMavenプロジェクトのアセンブリをサポートするプロジェクト(http://code.google.com/p/gwt-maven)が見つかりました。



次のステップは、Acegi Security(Spring Security)を統合することでした。 このタスクもそれほど単純ではありません。 許容できる解決策を見つけることができませんでした(将来表示される可能性があります)。 そのため、Webコンテナの標準的な手段を使用してセキュリティを構成することにしました。



合計で約1か月半GWTで作業し、GWTの開発のニュアンスをより深く学んだ後、私はこのフレームワークが私には適さないと決めました。 私の研究の結果、私たちは結論づけることができます:

GWTは他の製品(Spring、Acegi)と大きく統合されています。 GWTの標準開発サイクルを壊さずに統合を達成することは困難です。これにより、GWTの将来のバージョンとの非互換性が生じる可能性があります(これを考慮する必要があります)。 GWTアプリケーションのデバッグは、GWTコンソールを介して行われます。 GWTコンソールでのデバッグは、一般的なログ分析です。 つまり、デバッガ開発環境のすべての能力を忘れる必要があります。 別の欠点は、GWTアプリケーションが検索エンジンによってインデックス付けされないことです。 GWTはjavascriptであり、ご存じのとおり、検索エンジンのインデックス作成機能によって解析されません。



All Articles