- PR -

[ASP.NET2.0]クライアントサイドコードとサーバーサイドコードの使い分け

投票結果総投票数:32
1.全てサーバーサイド 1 3.12%
2.基本はサーバーサイド 24 75.00%
3.基本はクライアントサイド 2 6.25%
4.可能な限りクライアントサ 5 15.62%
  • 投票は恣意的に行われます。統計的な調査と異なり、投票データの正確性や標本の代表性は保証されません。
  • 投票結果の正当性や公平性について、@ITは一切保証も関与もいたしません。
投稿者投稿内容
よこけん
大ベテラン
会議室デビュー日: 2006/01/31
投稿数: 216
投稿日時: 2006-11-13 22:31
(ちょっと選択肢を見ただけではわかりづらいのでもうちょい詳しく書きます。)

1.全てサーバーサイドコード。クライアントサイドコードなんて絶対使わない!

2.ほぼサーバーサイドコード。入力値検査やメッセージボックスの表示等、最低限のクライアントサイドコードは使う。

3.基本はクライアントサイドコード。場合によってはサーバーサイドコードにまかせる。

4.可能な限りクライアントサイドコード。DBアクセスやページの生成等、必要最低限のみサーバーサイドコード。

5.ポストバックなんかしない。時代はAjax。

6.その他



ASP.NETでの開発についてのアンケートです。
例えば「あるチェックボックスにチェックを付けると入力可能となるテキストボックス」なんてものは、サーバーサイドコード(C#やVB)でもクライアントサイドコード(JavaScriptなど)でも実現できますが、皆さんはサーバーサイドコードとクライアントサイドコードをどのように使い分けていますか?


私の考え(好み?)としては4番です。JavaScriptだけで済ませられるのに無駄にポストバックするのはなぁ、という考え方です。・・・が、どうも周りの方には不評なので今回のアンケートに至りました。

私の挙げた選択肢も、けっこう曖昧なものなので、皆さんの具体的な意見を聞かせていただければ幸いです。


#JavaScriptが使えないユーザーのことも考慮しなければならないとなると話は変わってくると思いますので、それは今回考慮しないということでお願いします。
ちゃっぴ
ぬし
会議室デビュー日: 2004/12/10
投稿数: 873
投稿日時: 2006-11-13 22:35
JavaScript なんか無視して、不正な入力送られたらどうするの?
よこけん
大ベテラン
会議室デビュー日: 2006/01/31
投稿数: 216
投稿日時: 2006-11-13 22:39
あ、すみません。
当然、入力値検査はJavaScriptだけじゃなくサーバーサイドコードも必要です。
3,4の選択肢でもそれはサーバーサイドでも実装するということでよろしくお願いします。
(ただし、1の選択肢についてはサーバーサイドのみで入力値検査を行うということで)
ちゃっぴ
ぬし
会議室デビュー日: 2004/12/10
投稿数: 873
投稿日時: 2006-11-13 23:11
なんか条件が非常に限定的なんですがね。

でも、個人的には、基本 server side です。
というのは、基本 server side にしておけば間違いが発生しないから。
# と書いている割に、ろくに coding やっていませんがね。

引用:
当然、入力値検査はJavaScriptだけじゃなくサーバーサイドコードも必要です。



と書いてますけど、client side でなんでもできると誤解して、なんでも client side で行ってしまう危険性があると思います。

なので、個人的には server side でもちゃんと動くように作っておいて、より上の usability が必要とされる場合には、clinet side でも同じものを実現できるようにすると思います。
# というか、個人的に client script 自体が嫌いってのが大きいかも?
[追記]
# ちなみに私の場合、他人が書いた script が自分の端末で知らない間に実行されるのは我慢なりませんので、script の実行は基本的に切ってます。
いちいち確認なんかしてらんないしね。
まあ、本題とは関係ありませんがね。
[/追記]

[ メッセージ編集済み 編集者: ちゃっぴ 編集日時 2006-11-13 23:16 ]
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2006-11-13 23:16
引用:

よこけんさんの書き込み (2006-11-13 22:31) より:

3.基本はクライアントサイドコード。場合によってはサーバーサイドコードにまかせる。

4.可能な限りクライアントサイドコード。DBアクセスやページの生成等、必要最低限のみサーバーサイドコード。


この説明から、
引用:

当然、入力値検査はJavaScriptだけじゃなくサーバーサイドコードも必要です。
3,4の選択肢でもそれはサーバーサイドでも実装するということでよろしくお願いします。


が、読み解けなかった。

つか、4なんか、「サーバコードなんかいらねーぜ」と読み取れる。

クライアントが JavaScript を使えるかどうこうもあるけど、ブラ宇zによって実装の違うクライアント スクリプトで何とかしようと考えることが、そもそもの間違いだと思います。

基本、サーバ サイド。可能なら、クライアントのユーザビリティ向上のため、何とかできる程度に何とかする。
_________________
よこけん
大ベテラン
会議室デビュー日: 2006/01/31
投稿数: 216
投稿日時: 2006-11-13 23:28
ちょっと書き方が悪かったかもしれません。
要は、どの選択肢も、サーバーサイドで行うべきことはきちんと行うのが大前提、その上で、サーバーサイドでもクライアントサイドでも実装できること(最初の例のようなこと)をどちらにまかせるのか?ということを尋ねたかった次第です。



#なぜか選択肢が4つしか表示されてないですね・・・。プレビューではきちんと表示されていたのですが
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2006-11-13 23:36
引用:

よこけんさんの書き込み (2006-11-13 23:28) より:
ちょっと書き方が悪かったかもしれません。
要は、どの選択肢も、サーバーサイドで行うべきことはきちんと行うのが大前提、その上で、サーバーサイドでもクライアントサイドでも実装できること(最初の例のようなこと)をどちらにまかせるのか?ということを尋ねたかった次第です。


じゃぁ、3,4と2の違いは、何?


引用:

#なぜか選択肢が4つしか表示されてないですね・・・。プレビューではきちんと表示されていたのですが


文字数制限があります。
_________________
THREE-ONE
常連さん
会議室デビュー日: 2006/08/17
投稿数: 36
投稿日時: 2006-11-13 23:43
クライアントサイドの処理は気休め程度出しかないと思います
少なくとも保障はできない

スキルアップ/キャリアアップ(JOB@IT)