JavaScriptがWebをスローにする (Read/WriteWebから)
Read/WriteWebから、「JavaScriptどれだけWebをスローにしているか」という記事。
北米ではウィジェット(Widget)ビジネスが熱いわけですが、この記事は主にウィジェットを提供するサービス業者に向けた警句となっています。面白いので、ざっと要約してみます。
How JavaScript is Slowing Down the Web (And What To Do About It)
http://www.readwriteweb.com/archives/how_javascript_is_slowing_down_the_web.php
- JavaScript一行をブログのテンプレートなどに追加するだけで、ウィジェット、訪問者解析、広告管理などができるために多くのブロガーが利用している。
- 現実の世界では、多数の事柄が競合すると結果は予測しがたいものになるということが知られているが、ソフトウェアの世界も例外ではない。コンポーネントを沢山詰めこめば、それらは訪問者の関心を奪い合い、その結果、ブログの読者も、ブロガー自身も、サービス提供者にとってもよくないことになる。
- ブロガーには自己顕示欲があるし、ウィジェットの挿入は簡単だ。最近ではWidgetbox (や Clearspring )のように自動インストール機能を備えたサービスまである。が、それらを多用するほどページの読み込みは遅くなる。
- ウィジェットを実装する主要技術はFlashとJavaScript。なかでもJavaScriptは、最近ではAjaxからウィジェットまで最先端プロジェクトの多くで使われているが、シングルスレッド言語であるためにそれが組み込まれたページの読み込みそのものを遅くするという問題がある。
- では解決法は?
- Defer the execution of the JavaScript
(必要なときにJavaScriptを実行せよ。不要であれば、ページ読み込み後に実行するなどの工夫を) - Minimize the amount of code that runs on load
(ページのローディング時に実行されるコードを最小化しろ。ページ全体を横断して何か探すようなコードを実行するな) - Load-balance requests by generating different URLs
(サーバへの負荷分散ができるよう、リクエスト先のURLを分散せよ) - Use Standard Libraries
(車輪の再発明をするな。JavaScriptではミスを犯しやすい。Prototype.jsのような標準的ライブラリを使え) - Most Importantly – Think About it
(JavaScriptはエンドユーザー側PCで実行されることを考えることが、最も重要)
- Defer the execution of the JavaScript
以下、感想です。
日本では「ウィジェット(Widget)」とは呼ばれていないものの、いわゆるブログパーツによるプロモーションはすっかり定着した感があります。精緻な見栄えを重んじる文化のためか日本ではFlashブログパーツが優勢ですが、ひとつひとつは好感が持てるものであっても、それが沢山のパーツが貼りこまれたブログに出会うとページをさっさと閉じてしまうことはよくあります。
ブロガーや読み手のアテンション獲得競争に勝つためには「できるだけ軽く」というのは必須要件のひとつになりそうだと思います。
[…] JavaScriptがWebをスローにする (Read/WriteWebから) ≪ du pope : NAKANO Hajime’s Blog […]
いいねいいね
bookmark_2007-12-10
2007年12月10日