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

Designing for Performance

画像: Tufted coquette - Wikipedia, the free encyclopedia

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

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

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

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

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

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