パフォーマンス向上のためのデザイン設計

Designing for Performance

画像: Tufted coquette - Wikipedia, the free encyclopedia

ハンドメイドマーケットプレイスを運営し、Webパフォーマンスの取り組みが素晴らしいことでも有名なEtsy社のエンジニアリングマネージャーが書いた本。フロントエンドのパフォーマンスと言うと、Steve Souders氏の『ハイパフォーマンスWebサイト』は有名で基本的なことは原則は変わってはいないが、原著が出版されたのが2007年と考えるといささか古い。

『Googleの検索結果で何秒遅れたら〜』、『Amazonのサイトで何秒遅れたら〜』と言った聞き飽きた事例などが本書ではアップデートされ、新しい事例や、比較的最近のフロントエンド技術が紹介されており、とっつきやすくなっている。ただ原著の出版されたのが2014年12月なのでAMPみたいな最新のものは解説されていないが、監訳者著の付録でHTTP2の話にも触れてあるので、良いと思う。

まぁ、特に目新しい内容はないが、本書はデザイナーに向けて書かれていることに意味がある。Webデザイナーと呼ばれる職種の人が本書に記載されてる内容を実装まで理解する必要はないと思うが(実装はフロントエンドエンジニアに任せればいい)、Webサイト・アプリケーションをデザインする上で一般教養として知ってほしい内容ばかりだと思う。フロントエンドエンジニアはさらっと読んで知らない・見逃してる技術がないか確認するために読んでもいいと思う。

目新しかったのは、Webパフォーマンス対策していくにあたって、8章の『組織の風土を変えていく』だ。フロントエンドのパフォーマンスというが、実際のところはフロントエンドエンジニアとして、できることは少ないと感じている。いや、効果のある対策は他の職種と協力しなければならないことが多い。例えば、バナー画像がファイルサイズが重ければ、デザイナーさんに画質の調整や保存形式を変更するようお願いしたり、キャッシュ制御のためexpireやgzip設定をインフラエンジニアさんにお願いしたりと、組織全体の協力が必要だし、実際そうゆうことを何度もしてきた。

そうゆうわけで、本書では偉い人を巻き込んだりする方法が書かれてたりする。百聞には一見にしかずというが、やっぱり、そうゆう人たちには比較動画やfilmstrip的なものを見せると良い。本書に書かれていることは、たいてい実践してきたつもりなので、自分のブログのPerformanceタグの記事を参考にしてもらいたい。

コンパクトに比較的最近のパフォーマンス事情が分かる良い書籍なので、ぜひ組織に一冊、部署ごとに一冊置いておくと良いかと思う。