すべてのカテゴリ » インターネット・パソコン » 技術・プログラミング

質問

終了

Webメール(Gmail)を久しぶりに使って驚いたことがあります。
メール一覧のウィンドウで、チェックボックスにチェックを入れて削除ボタンを押したら、まるでスタンドアロンのメーラーのように、直後にそのアイテムが削除されました。
昔はHotmailを使っていたのですが、当時(2、3年前)は、削除をクリックしてから画面が更新されるまでに、2、3秒かかっていたと思います(遅いときはもっとかかっていた気がします)。今Hotmailを試してみたら、Gmailほどではありませんが、1秒弱でで画面からは削除されています。
質問1:これはJavaScriptを使っているからなのでしょうか?
質問2:そしてそうだとしたら、当時遅かった理由は削除ボタンを押すたびに画面全部を更新していたからでしょうか?削除ボタンを押したときと同様な動作をするJavaScriptのサンプルコードが読めるWebページのURLを教えていただけるとありがたいです。
質問3:従来の画面全部を毎回更新するコードを、一部だけを更新するように書き換えるには、ゼロから書き直さなければならないのでしょうか?

質問が多くて申し訳ありませんが、宜しくお願い致します。

  • 質問者:さとる
  • 質問日時:2009-01-08 18:11:54
  • 0

並び替え:

>質問1:これはJavaScriptを使っているからなのでしょうか?
はい、そうです。いわゆるAjaxというやつです

>質問2:そしてそうだとしたら、当時遅かった理由は削除ボタンを押すたびに画面全部を更新していたからでしょうか?削除ボタンを押したときと同様な動作をするJavaScriptのサンプルコードが読めるWebページのURLを教えていただけるとありがたいです。
速度が遅かった理由は、それだけではなくムーチョさんがおっしゃっているような、様々な原因が考えられるので一概には言えません。当時も速いサイトはやはり速かったですし。サンプルコードはAJaxを勉強しようというサイトがお勧めです

Ajaxを勉強しよう
http://www.openspc2.org/JavaScript/Ajax/Ajax_study/

>質問3:従来の画面全部を毎回更新するコードを、一部だけを更新するように書き換えるには、ゼロから書き直さなければならないのでしょうか?
はい、ゼロから書き直す必要があります。
これまではブラウザがリンクをクリックしたり、FormをPOSTしたときに、HTTPリクエストを送信し、レスポンスとして受け取ったHTMLをブラウザに表示していました。それをJavascriptでHTTPリクエストを送信し、レスポンスとして、JSON(Javascriptのデータ形式)などを受け取って、その結果に基づいてJavaScriptで画面を表示するような書き方が必要になります。

ちなみにこのSooda!もそういった技術を使っていますよね。質問が登録完了しても画面は再描画されていません。それでも質問が登録されていると言うことは、JavaScriptでリクエストを送信しているということです。

この回答の満足度
  
参考になりました。回答ありがとうございました。

わたしは普段からGmailを使用しています。
動作が高速な理由は、JavaScriptを活用しているのが大きいと思います。
昔のHTMLだけに比べるとサーバーとの通信量は格段に少なくて済みますし、
画面の更新も必要なところだけで済みます。

残念ながら、その解説しているページはちょっと判りません。
また、コードはかなり書き直しになると思います。

  • 回答者:Maku (質問から2時間後)
  • 0
この回答の満足度
  
参考になりました。回答ありがとうございました。

・ サーバー自身の動作が軽くなった。
・ プログラムの動作が軽くなった。
・ 回線速度が速くなった。
・ パソコンの性能が上がった。

などにより、少しずつ、各フェーズのパフォーマンスが向上した結果でしょう。

ちなみに、Hotmail に関しては、先頃、使い勝手の向上を謳って、実現した模様です。

この回答の満足度
  
参考になり、満足しました。回答ありがとうございました。
お礼コメント

ありがとうございます。
GoogleはJavaScriptで非同期通信を可能にしてるらしいので、クライアントの画面上では直後に削除しているように見えて、裏でその通信をやっているのかと思っていたのに違うのですね。でも、昔は、その都度画面全体を更新していたのに、最近は一部だけのものが多いですよね。

関連する質問・相談

Sooda!からのお知らせ

一覧を見る