Locked History Actions

Diff for "GWT/AntiPatterns"

Differences between revisions 1 and 2
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

参考