Deletions are marked like this. | Additions are marked like this. |
Line 2: | Line 2: |
以下の「参考」としてあげたリンクの内容を簡単にまとめる。 === 多すぎるAJAXコール === GWTは非常に簡単にAJAXコールができてしまうが、これは遅いのでできるだけ行わない。複数の呼び出しをまとめられるならまとめてしまって、呼び出し回数を少なくする。 === インラインJavaScript === メンテナンスしづらいので、nativeメソッド(JavaScript直書き)はやめること。 === 擬似クラスの代わりにリスナ === {{{ .myclass:hover { background: red; } }}} としておけば、マウスホーバー時にブラウザが勝手に背景を赤くしてくれるが、そうではなくリスナハンドリングによってプログラムで赤を指定するようなことをしない。 === Window.alert === デバッグのためにWindows.alertをあちこちに入れるようなことをするな。 === FlexTable === FlexTableはHTMLのTableタグそのものだが、レイアウトのためにこれを使ってはいけない(GWTに限らず)。 === GWT RPC === GWT RPCを使わないこと。 * それほど簡単ではない。GWT RPCを行うには、二つのインターフェース、クライアント側呼び出しコード、サーブレット側コードが必要。 * エラーハンドリングが難しい。 * デバッグが難しい。 * 遅い。 代わりにRESTを使う。RESTは速く、デバッグが簡単でシンプルだ。 === セキュリティ === NOT YET === GWTのみを使う === NOT YET === GWTでレイアウトする === NOT YET |
アンチパターン
以下の「参考」としてあげたリンクの内容を簡単にまとめる。
多すぎるAJAXコール
GWTは非常に簡単にAJAXコールができてしまうが、これは遅いのでできるだけ行わない。複数の呼び出しをまとめられるならまとめてしまって、呼び出し回数を少なくする。
インラインJavaScript
メンテナンスしづらいので、nativeメソッド(JavaScript直書き)はやめること。
擬似クラスの代わりにリスナ
.myclass:hover { background: red; }
としておけば、マウスホーバー時にブラウザが勝手に背景を赤くしてくれるが、そうではなくリスナハンドリングによってプログラムで赤を指定するようなことをしない。
Window.alert
デバッグのためにWindows.alertをあちこちに入れるようなことをするな。
FlexTable
FlexTableはHTMLのTableタグそのものだが、レイアウトのためにこれを使ってはいけない(GWTに限らず)。
GWT RPC
GWT RPCを使わないこと。
- それほど簡単ではない。GWT RPCを行うには、二つのインターフェース、クライアント側呼び出しコード、サーブレット側コードが必要。
- エラーハンドリングが難しい。
- デバッグが難しい。
- 遅い。
代わりにRESTを使う。RESTは速く、デバッグが簡単でシンプルだ。
セキュリティ
NOT YET
GWTのみを使う
NOT YET
GWTでレイアウトする
NOT YET