質問

GWTを検討していました。良いように見えますが、私たちのソフトウェアはJS要件なしで動作する必要があります。可能ですか?

役に立ちましたか?

解決

いいえ、そうではありません。 GWTは、サーバーではなくクライアントで実行するように特別に設計されたウィンドウツールキットを提供します。劣化した(javascript以外の)コードは、完全なHTMLをブラウザーに配信する必要がありますが、GWTは単純にそれを行いません。 Javaコードをクライアントに配信されるjavascriptファイルにコンパイルし、クライアントでのDOM操作によってUIを構築します。次に、サーバーとやり取りするコード、暗黙的なコード、自分で作成したコードがあります。このモデルは、適切に劣化するのに適していません。

やや優雅に劣化させる唯一の方法は、2番目の非JavaScript UIを提供するか、クライアントでフロントエンドをレンダリングせずにHTMLを配信する別のツールキットを使用することです。申し訳ありません。

他のヒント

「フォームポスト、リンクメニューなど」だけで十分なhtml構造を作成し、その構造の各部分にGWTをアタッチして、動作を強化することにより、適切にデグレードできます。たとえば、HTMLドロップダウンを動的にする、別のページへのリンクをライトボックスを開くコンポーネントに置き換える、別のページへのリンクをXML httpリクエストに置き換えるなどして同じことを行います(例:投票)。

クライアントに対してこれを何度も実行しました。

ほとんどのGWTが開発されるのと逆の方法ですが、機能します。

私は自分のウェブサイトをデザインするときにこの問題を自分で見ていました。構文がほぼ同一であるという点で、GWTの方がJavascriptファイルを書くことよりも優れているわけではありません。クライアントライブラリとサーバーライブラリを共有すると、真のメリットが得られます。過去2年間でこの問題を解決したことを願っていますが、とにかく役に立つ例がいくつかあります。

Gmailの作成:GWTを使用すると、共有パッケージにEmailFormatterを作成できます。これにより、メールリストマークアップが実行されるため、サーバーは不要です。その後、サーバー側で同じEmailFormatterクラスを使用して、レガシーブラウザー(「古いバージョン」)のサポートを追加できます。

フォームの検証:ユーザーの入力サーバー側を検証するには、セキュリティの観点から絶対に必要ですが、ほとんどのユーザーはフォームを送信する前にJavascriptでチェックする方が便利です。 GWTで同じJavaコードを使用してこれを行うことができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top