ハイパフォーマンス ブラウザネットワーキング

ネットワークアプリケーションのためのパフォーマンス最適化

Ilya Grigorik氏の『ハイパフォーマンス ブラウザネットワーキング』が発売されたので流し読んでみた感想。

Design Fast Websites

思い起こせば、僕がWebパフォーマンスに興味を持ったのは2008年にYUI Theaterで公開されたNicole Sullivan氏の『Design Fast Websites』の動画を見てからだ。

当時Webデザイナーだった僕にとってデザインもWebパフォーマンスに貢献出来るんだ!決してバックエンドのエンジニアだけの問題じゃないんだと知ったのは衝撃的であり、それと同時にやりがいのあることだと感じモチベーションが上がったのを今でも覚えている。クリスマス・イブの夜のことだった。

High Performance Web Sites

それから、フロントエンドのパフォーマンスつながりで、Steve Souders氏の『ハイパフォーマンスWebサイト』を手にとって夢中で読んだのが5年前。以後、僕の口癖は『HTTPリクエストを減らす』になった。

Perfmatters

最近ではフロントエンドのパフォーマンスも細分化されてきて、Network、Render、Computeの3つに大別されるようになってきたが、僕はやっぱり『HTTPリクエストを減らす』の精神でネットワークの分野に一番興味があるし、大抵の場合においてネットワークが問題の主要な要因になってるのは間違いないと思っている。

そんなとき、いつも参考にしてきたのがIlya Grigorik氏の記事であったりスライド・動画だ。

彼はとてもスマートでしっかりとした根拠を持って、いつも発表しているので、とても尊敬しているのだが、なにぶん難しいテーマなので、今回、『High Performance Browser Networking』が邦訳されて日本語として理解できるのは喜ばしいことだ(日本語でも難しいが…)。彼の近年の発表の詳細がこの本には詰まっているから。

  • パケットを送信しないことより速くパケットを送信する方法は存在しない
  • パケットをより速く進ませることは不可能だが、より近い場所からの送信は可能

結局のところは、上記に尽きる。

  1. HTTPリクエストを減らす
  2. CDNを使う

ハイパフォーマンスWebサイトで最も効果のある上位2つはネットワークに関することであり、ハイパフォーマンスブラウザネットワーキングでは、なぜそれがコストのかかることなのか、事細かに書かれている。

ネットワークを本気で学ぼうと思ったら一体何冊の本を読んだら良いかわからないが、本書はパフォーマンスとネットワークに絞ることで350Pと比較的コンパクトにまとまっている。けど、やっぱり重いので電子書籍のほうを買ったほうがいいと思う、安いし。

また僕のバイブルが増えた。