Webの技術は、様々な用途で使われるようになり、ユースケースの多様化が進んでいます。それに追従する形で、技術サイドでも進化することが求められているのですが、残念なことに、インフラ側は入れ替えが急には進まないという問題を抱えています。せっかくの新しいアイデアも、古いIEが残り続けたり、古いWebサーバを使ったサービスが負債として残り続け、スムーズには移行されないわけです。
Webでは、古いものと新しいもの、双方が混在していても問題なく動くことが求められます。そこでWebの技術は、「今を良くするため、今あるものの中で泥臭いやりかたで改善方法を模索する」という側面と、「これからを良くするため、今の泥臭い方法を理想的な方法としてブラウザやインフラ側の機能として標準化する」という側面とで、2つの姿を持つようになりました。
以前であれば、前者の「今」の所だけを把握しておけば十分でした。ところが、近年は技術革新のサイクルが短くなり、「これから」を見据えた設計が求められています。マイクロソフトの提供する、IE6 Count Downによると、中国のIE6のシェアは2014年2月の段階で22.3%もあったのですが、一年後の2015年2月には、なんと3.1%にまで低下し、まもなく無視できるような数になろうとしています。ブラウザは、「ライフサイクル」という側面で、この1年のうちに大きな変化を起こしたわけです。
↓
一方で、国内においても、IE6が一年前にEOLを迎え、これから長いIE8の時代が続くのかと思いきや、そのシェアは思いのほか大きく変動しています。GlobalStatによると、IE8のシェアは5%を切っています。
clickyやNet Applicationsといった、別のサービスの情報を参考にするとIE8のシェアはより高く見えます。実際に本ブログにおいても、未だに15%のユーザがIE8でアクセスしているため、とてもサポートを切ることなんてできません。多くのサービスも、そういう状況に陥っているのではないでしょうか。
とはいえ、以前のIE6なんかに比べると、そのシェアは遥かに低かったりします。サービスの種類によっては、IE8はもはや無視できるレベルにまでアクセス数が減っているのではないでしょうか。
これからのWebパフォーマンスとの付き合い方は?
ここまでの検証内容を見ていると、Webの技術を入れ替えるのには10年必要なんてことも言われていますが、ここ1年の変化を鑑みると、案外、5年を待たずに入れ替わりそうな印象を受けます。だとすれば、Webエンジニアは従来とは異なり、「今あるもの」と「これからのこと」の、両方を把握することが求めらていると言えます。
この状況を踏まえ、本日よりこのブログでは、「今」と「これから」の2つの見据えた、Webパフォーマンスの改善の手法についてご紹介していきます。一般的には「Web Performance Optimization(WPO)」と呼ばれているものですが、難しい言葉の定義の話は抜きにして、率直に「Webはどうすれば速くなるのか」というテーマで紹介します。
単純に「速くする」なんてことを言っていますが、これは難しいテーマだったりします。というのは、「パフォーマンス」というキーワードを聞くと、x86_64プログラマから、DBエンジニア、ネットワーク設計者に至るまで、色んな方面の専門家から、思い思いのコメントが飛んできたりすることがあるからです。同じコンテキストで語れたら一番いいのですが、そうでないケースも多かったりします。
なので、最初にお断りしておきます。本ブログではあくまで「W3C Web Performance WG」で議論されているような、Web標準の範疇にフォーカスします。読者は、Webの開発者やインフラエンジニアを想定させて頂きます。
それではどうぞ、お楽しみ下さい。