「続・ハイパフォーマンスWebサイト」レビュー

Chrome Extensions TechTalkの日に、Googleの及川さんから「続・ハイパフォーマンスWebサイト」を頂きました。

続・ハイパフォーマンスWebサイト ―ウェブ高速化のベストプラクティス

続・ハイパフォーマンスWebサイト ―ウェブ高速化のベストプラクティス

ロードの高速化、処理の高速化を中心に、ロード順の問題や、gzipやwoker、Comet、非同期ロード、CSSスプライトにCSSセレクタの最適化などなどウェブサイトを高速にするためのテクニックが十分に詰まった一冊です。特に、日本語版の特別付録として、パフォーマンスの測定ツールの解説がついています。パケット解析系は種類があるのでありがたいです。開発ツールでは、Firebug、WebInspector、IE Developer Toolbarときて、Dragonflyが載ってないのは少々残念でしたが…。

第1章はJavaScript界のヨーダことDouglas Crockford氏*1の担当です。その冒頭より、

プログラムの設計と構築には数多くの意思決定が伴い、そのひとつひとつにトレードオフがあります。/*〜中略〜*/ おそらく究極のトレードオフは、これでしょう。
「天国に行きたいが、死にたくはない。」
もう少し現実的な話をすれば、いわゆる「プロジェクトの三角形」と呼ばれるものがあります。
「速い。良い。安い。どれかふたつを選べ。」
この言葉は、たとえ理想的な状況であっても、速い、良い、安いのすべてを同時に得るのは不可能だということを示唆しています。そこには必ずトレードオフがあるのです。

現実には、3つから2つ選ぶどころか、数十、数百の選択肢から数個を選ぶことしかできないかもしれません。そのよりよい選択とはなにか、どうやってそれを選ぶかについて書かれているのが本書といえます。(蛇足ですが、私が連載中の連載:これでできる! クロスブラウザJavaScript入門|gihyo.jp … 技術評論社は「選択できる手段を増やす」方向です)

ちなみに、ちょうど4月9日が発売日で、及川さんは日本語版特別付録の1つとして、Google ChromeやWebSockets、SPDYなどについて記事を書かれています。同日に出版記念イベントがあったのにも関わらず、Chrome Extensions TechTalkにご協力いただいてしまって、頭の下がる思いです(だからレビューを書いているという面はないこともないですが、良書であることは間違いありません)。

*1:[http://d.hatena.ne.jp/mindcat/20100228/1267354768:title]