特別企画

Windows 8.1 徹底解剖 第3回 「Internet Explorer 11」(中編)

“モダンブラウザー”への仲間入りを果たした記念碑的バージョン

 プレビュー版として無償公開されている「Windows 8.1 Preview」をもとに、「Windows 8.1」の新しい点を紹介する本特集。前回は“Immersive”モードで動作する「Internet Explorer 11」をとりあげた。3回目となる今回は、“Desktop”モードで動作する「Internet Explorer 11」にフォーカスを当てることにする。

 なお、“Desktop”モードで動作する「Internet Explorer 11」は「Windows 7」にも無償で提供される予定。現在、プレビュー版が仮想マシンとして提供されている。

 「Windows 7」の「Internet Explorer 11」は“拡張保護モード”(後述)がサポートされないこと以外は、基本的に「Windows 8.1」の「Internet Explorer 11」と同等の機能を備える。本稿ではとくに指定のない限り、「Internet Explorer 11」は「Windows 8.1」の「Internet Explorer 11」を指すこととする。

見た目は「Internet Explorer 10」と変わらないが?

「Internet Explorer 11」(Windows 8.1 Preview)

 「Internet Explorer 11」の外見は、「Internet Explorer 10」のそれをほぼ踏襲している。しかし、コア機能の変更点は実に多岐にわたる。

Web標準への準拠

 「Internet Explorer 11」ではHTMLレンダリングエンジン“Trident”がアップデートされ、“HTML5”のサポートが強化されている。

 “HTML5”への準拠度を評価するサイト“The HTML5 test”のベンチマークでは、「Internet Explorer 9」の138ポイント、「Internet Explorer 10」の320ポイントを上回る“355”を叩き出している。これは「Firefox 23」(414ポイント)や「Google Chrome 29」(463ポイント)にこそ劣るものの、「Safari 6」(378ポイント)には肉薄しており、“モダンブラウザー”としてはほぼ合格点と言えるだろう。

「Internet Explorer 10」
「Internet Explorer 11」
「Firefox 23」
「Google Chrome 29」

 下のグラフは各ブラウザーのポイントを時系列順に並べたものだが、「Internet Explorer」が近年すさまじいスピードで先行する「Google Chrome」「Firefox」にキャッチアップしつつあることがわかる。

“The HTML5 test”スコアの推移

サーバーやスクリプトから「Internet Explorer 11」を見ると?

 これに伴い「Internet Explorer 11」では大きな変更が内部的にいくつか加えられている。

 ひとつはユーザーエージェント文字列の変更だ。ユーザーエージェント文字列とは言わばブラウザーの本名で、サーバーやスクリプトへ伝えられる。たとえば、「Internet Explorer 10」では以下のようなユーザーエージェント文字列を返していた。

Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0; …)

 しかし、「Internet Explorer 11」では以下のようなユーザーエージェント文字列を返す。

Mozilla/5.0 (Windows NT 6.3; Trident/7.0; …) like Gecko

 これは「Firefox」や「Google Chrome」といったブラウザーに合わせた変更だ。

 そのほかにも、“navigator.appName”プロパティが“Microsoft Internet Explorer”ではなく“Netscape”を返すようになったり、“navigator.product”プロパティが “Gecko”を返すようになるなど、これまで広く利用されてきた「Internet Explorer」の判別処理では「Internet Explorer 11」が検出できなくなる。

 そう言われると『従来の「Internet Explorer」向けのコードが動かなくなるではないか』と心配する開発者もいるかもしれないが、その心配はない。

 「Internet Explorer 11」では“document.all”などをはじめとする独自APIが廃止され、代わりに「Firefox」や「Google Chrome」でも使われている“document.getElementById”などのWeb標準のAPIを利用する。むしろ旧バージョンの「Internet Explorer」向けに書かれたコードは、「Internet Explorer 11」で動作しない。つまり、(旧バージョンの)「Internet Explorer」ではなく「Firefox」や「Google Chrome」と同じブラウザーだと判定された方がかえって都合がよいわけだ。この変更は「Internet Explorer 11」を「Google Chrome」や「Firefox」と同様に扱ってくださいというMicrosoftからのメッセージととらえるべきだろう。

 また、優先ドキュメントモードが“エッジ モード”となっている点にも注意しておきたい。「Internet Explorer」には互換性の維持を目的としたさまざまなドキュメントモードを備えるが、“エッジ モード”では互換性よりもWeb標準への準拠が優先される。

 このように、「Internet Explorer 11」はWeb標準をこれまでになく強く意識したバージョンであり、名実ともに“モダンブラウザー”の仲間入りすることを狙ったバージョンであると言えるだろう。

“次の”Web標準も視野に

 ここ数年に行われた「Internet Explorer」のアップデートは、“モダンブラウザー”との距離を縮めるのが精一杯という印象が否めなかった。しかし、「Internet Explorer 11」はそれだけではない。これから採択が見込まれる次世代のWeb標準を視野に入れた変更も多数盛り込まれている。

 たとえば、「Internet Explorer 9」から搭載されているJavaScriptエンジン“Chakra”では、JavaScriptの次世代規格“ECMAScript 6”がサポートされる。もちろん、スクリプトの実行速度も向上している。

JavaScriptエンジン“Chakra”のパフォーマンス(“http://ie.microsoft.com/testdrive/benchmarks/sunspider/”より引用)

 さらに、“SPDY/3”にも対応。“SPDY/3”とは複数のHTTP要求を1つのTCP接続に束ねて通信を効率化するプロトコルで、次世代プロトコル“HTTP 2.0”への採用が予定されている。すでに“Twitter”をはじめとするいくつかのサイトが対応しており、「Internet Explorer 11」でアクセスすると、“SPDY/3”を利用した高速な通信が実際に体験できる。

“SPDY/3”へ対応。初期状態で有効化されている
「Internet Explorer 11」で“Twitter”へアクセス。「F12 開発ツール」(次回紹介予定)でキャプチャーすると“SPDY/3”で接続されているのがわかる

 また、“WebGL(WebGL 0.9)”がサポートされた点も見逃せない。Microsoftは当初、セキュリティ上の問題を理由にWebGLへの対応に及び腰であったが、“WebGL”のコンテンツをスキャンする機能や、万が一危険なコンテンツが実行されてもグラフィックサブシステムに致命的な影響を与えないようソフトウェアレンダリング層を設けるなどすることで、この問題を解決している。

トータルパフォーマンスの向上

 もともと「Internet Explorer」はバッテリー消費への配慮がある“エコ”なブラウザーであったが(参照:窓の杜 - 【特集】“速い”“安全”“美しい”満を持して登場した「Internet Explorer 9」)、「Internet Explorer 11」にはさらなる磨きがかけられている。

 たとえば、「Internet Explorer 11」ではGPUでJPEG画像をリアルタイムデコードする機能や、GPU上でテキストをレンダリングする仕組みがWebブラウザーとしては初めて搭載されている。これにより省メモリ化や、さらなる省電力化を実現している。

 与えられたリソースをめいいっぱい活用して高速化を図る“アメリカ車”的なアプローチも結構だが、「Internet Explorer」はあくまでもWindows標準のWebブラウザーであり、ネットブックやタブレットなどといったリソースの限られた環境でも十分なパフォーマンスを発揮する、いわば“日本車”的なあり方が望まれる。「Internet Explorer 11」の進化はそれに応えたものと言えるだろう。

 また、バックグラウンドでコンテンツを読み込んでレンダリングする機能(プレレンダリング)も新たにサポートされた。これにより、体感的なパフォーマンス向上が期待できる。同様の機能はほかのブラウザーですでにサポートされているが、従量課金接続の場合に無効化できる点で優れる。「Windows 8.1」との親和性の高い「Internet Explorer 11」の面目躍如だ。

「Immersive IE」と同等のセキュリティがデスクトップにも

“拡張保護モード”が初期状態で有効化。64bitモードのタブはオプションになっている

 また、“拡張保護モード(EPM)”がデスクトップで動作する「Internet Explorer」に対しても初期状態で有効化された。

 “拡張保護モード”とは「Internet Explorer 10」で追加された新しいセキュリティ機能だ。本機能を有効にすると、「Internet Explorer」は“AppContainer”と呼ばれるサンドボックス環境(Windows ストアアプリでも利用されている)で動作するようになる。万が一ブラウザーが乗っ取られても、あらかじめ許可された機能・領域にしかアクセスできないように設計されているため、情報の流出やシステムの乗っ取りを防止することができる。さらに64bit版「Windows 8.1」ならば、タブプロセスを64bitで動作させることも可能。

 ただし、「Windows 8」の「Internet Explorer 10」では「Immersive IE」でのみ有効化されており、「Desktop IE」にはオプションとして提供されていた。これは“拡張保護モード”に対応しないプラグインが少なくなかったためだ。

 しかし、「Windows 8.1」では「Immersive IE」「Desktop IE」双方で“拡張保護モード”が有効化される。「Desktop IE」のセキュリティが「Immersive IE」に追いついた格好だが、メリットはセキュリティ面だけではない。セキュリティレベルが等しくなったことでCookieやキャッシュなどのデータを両方の環境で共有できるようになるため、使い勝手の点でもメリットがある。

“拡張保護モード”を無効化。32bitのタブプロセスがIntegrity Level(整合性レベル)“Low”で動作している(「Process Explorer」で表示)。非常に低い権限で動作しているが、Windows ストアアプリのようにアクセスできる機能に制限が加えられていない
“拡張保護モード”と64bitのタブプロセスを有効化。タブプロセスのIntegrity Levelは“AppContainer”と表示される。これはWindows ストアアプリと同等の動作であることを示す

ひっそりと役目を終えた機能も

 このようにさまざまな機能改善が施された「Internet Explorer 11」だが、一方でひっそりと役目を終えた機能もいくつかある。その一つが“SDI(Single Document Interface)”モードだ。

 「Internet Explorer」は、複数のページを1つのウィンドウにまとめ、タブで切り替えることのできる“TDI(Tabbed Document Interface)”モード(タブブラウズ機能)を、2006年に公開された「Internet Explorer 7」からサポートしている。一方で、1つのウィンドウに1つのページを表示する従来のSDIモードのサポートも継続されていた。

 しかし、「Internet Explorer 11」ではSDIモードのサポートが削除された。“インターネットオプション”からも、TDIモードが無効化できなくなっている。

「Internet Explorer 10」のタブ設定。タブブラウズ機能を無効化できる
「Internet Explorer 11」のタブ設定
クイック タブ機能機能

 また、クイック タブ機能も廃止されている。これは現在開いているタブをサムネイルで一覧表示するための機能で、タブブラウズ機能と同じく「Internet Explorer 7」で追加された。

まとめ

 デスクトップモードで動作する「Internet Explorer 11」のデザインは、「Internet Explorer 10」のそれとほとんど見分けがつかない。しかし、細部にはさまざまな改善が加えられているのがわかる。今回は深く掘り下げて紹介できなかったが、デスクトップブラウザーでもリモートPCで開いたタブへアクセスできたり、ブラウザーの負荷を手軽にモニタリングできる“パフォーマンス ダッシュボード”を搭載するといった改善もみられる。

新規タブページでリモートPCで開いたタブへアクセス
ブラウザーの負荷を手軽にモニタリングできる“パフォーマンス ダッシュボード”。[Alt]キーでメニューバーを表示して、[ツール]-[パフォーマンス ダッシュボード]を選択

 とくにコア機能は着実に改善されており、ようやく「Google Chrome」や「Firefox」などの“モダンブラウザー”と同等に扱ってよいレベルにまで達した。「Internet Explorer 10」が“Web標準”へ向けて大きく舵を切ったバージョンだとするならば、「Internet Explorer 11」は“Web標準”に追いつき、“モダンブラウザー”への仲間入りを果たした記念碑的なバージョンだと言えるだろう。

 さて、ここまでは“閲覧する”側から見た「Internet Explorer 11」を紹介してきた。しかし、「Internet Explorer 11」にはもう1つの顔がある。“開発ツール”という顔だ。近年のブラウザーの開発競争において、“開発ツールの充実”は“Web標準への準拠”と並ぶ大きなトピックと言える。しかしその一方で、一部の上級者を除き、あまり活用されていないのが現実ではないだろうか。

 そこで次回は今回紹介できなかった「Internet Explorer 11」の開発者ツール「F12」のアップデートを紹介する。楽しみにしていただければ幸いだ。

(柳 英俊)