Quantcast
Channel: Hebikuzure's Tech Memo
Viewing all articles
Browse latest Browse all 125

Internet Explorer の歴史 (part3)

$
0
0

この記事は “Yet Another Internet Explorer Advent Calendar 2013” の3日目です。

Internet Explorer の歴史、1日と2日の記事の続きです。そこでも書いたように WIKIPEDIA (英語版)などに良記事があるのですが、個人的な感想なども含めてまとめたいと思います。
またスクリーンショットはこちらのサイトなどで見ることができますので、この記事では省略します。

Internet Explorer 8

Internet Explorer 8 は 2009年3月19日に、まず Windows Vista / XP (SP2 以降) および Windows Server 2008 / 2003 (SP2 以降) 用としてリリースされ、その後 Windows 7 に標準ブラウザーとして搭載されました。

このバージョンではいくつかの意欲的な新機能が盛り込まれています。Web ページ内のコンテンツを直接、検索サービスなどの別の Web サイトに直接送って再利用できるアクセラレータ、Web サイトの一部だけ購読できる Web スライス、閲覧の履歴から類似のサイトを提案する「おすすめサイト」、閲覧の履歴や Cookie などの永続的情報を残さずブラウジングできる InPrivate ブラウズ、XSS フィルターや SmartScreen などのセキュリティ機能、F12 開発者ツールなど、成功したものあまり利用されなかったものを含め、多数の新機能が用意されました。

また標準仕様への準拠も進められ、Internet Explorer で初めて Acid2 テストにパスしたブラウザーとなりました。具体的には、CSS level1 の完全サポートと CSS level2 の大半のサポート、CSS3 の一部サポート、DOM ストレージ (Web Strage) 、Data URI、Cross-Document メッセージングなど一部の HTML5 サポートなどが含まれています。とは言え同時期の Chrome や Firefox、Opera などに比べると標準への対応は遅れており、Acid3 では 20点しか取れない状況でした。

それでも以前のバージョンとのレンダリング挙動が大きく異なったため、互換表示機能が搭載されています。アドレス バーの中の互換表示ボタンをクリックするとそのドメインが登録され、Internet Explore 7 相当 (完全に同一ではありませんが) のレンダリング挙動に切り替えられます。また予め互換表示が必要と確認されているサイトの一覧 (互換表示リスト、CV リスト) が Microsoft から配信されており、それを自動ダウンロードする設定にすると、リストに登録されたドメインは自動的に互換表示になります。またイントラネットのサイトも既定では互換表示されます。

内部的な動作で大きく変更されたのは、Loosely-Couple IE (LCIE) の導入です。LCIE ではまずウィンドウのアドレスバーやお気に入りバーが表示される部分を処理するプロセス (フレーム プロセス) とコンテンツが表示される部分を処理するプロセス (タブ プロセス) が分離されています。その上で、コンテンツを表示する各タブごとのプロセスも分離されます。こうした構成を取ることにより、表示しているページの問題などで一つのタブのプロセスがクラッシュしても、他のタブや IE のウィンドウ全体 (UI) を巻き込んでクラッシュさせる事はなくなります。

また LCIE が導入されたことにより、クラッシュしたタブの自動回復 (タブごとの動作状況をフレーム プロセスでもコピーして記憶しておき、タブ プロセスがクラッシュしたらその情報を元にタブで表示していた内容を復元する) 機能や、整合性レベルの異なるサイトを同じウィンドウ内の別々のタブに表示する機能 (Windows Vista + Windows 7 では整合性レベルが違うと別ウィンドウで開かなければならなかった) なども実現しています。

Internet Explorer 8 は未だ「Modern Borwser」と呼ぶには不十分ながら、Microsoft が標準準拠と (オープンソース プロダクトを含めた) 相互運用性を重視する方向に舵を取った事を明確にする、記念碑的な存在ではないかと思います。過去の資産とは「互換表示」で互換性を取りつつ、今後の Web は他のブラウザーとの相互運用性が確保された「Web Standerd」の世界で戦っていく事を、このバージョンは示したと言えるでしょう。

個人的には、標準に準拠する部分が多くなったとはいえまだ不十分で、またパフォーマンスも他のブラウザーと比べて良くなかったため、個人的なメイン ブラウザーに昇格するには至りませんでした。ただちょうどこのブログで IE Blog の日本語私訳を掲載するようになって、そのため動作確認や検証のために起動する機会が多くなり、そのため IE6 / IE7 をほとんど使わなかったのに比べるとよく利用するようになった事は確かです。

Internet Explorer 9

Internet Explorer 9 はようやく「Modern Browser」と呼んで恥ずかしくないレベルに達した、最初のバージョンでしょう。2011年3月20日に Windows 7 / Vista (SP2 必要) および  Windows Server 2008 R2 / 2008 (SP2 必要) 用としてリリースされました。このバージョンは IE3 以降の過去のどのバージョンとも異なり、またそれ以降の IE10 / 11 とも異なり、どのバージョンの Windows にも標準搭載されていません (OEM が Windows 7 にプリインストールして提供している場合はありますが)。

日本では東日本大震災直後の電力事情に配慮して、2011年4月26日に公開されました。

Internet Explorer 8 のリリースからほぼ 2年という比較的短い間隔でのリリース、しかも OS に同梱しない形での単独リリースという形態からも、このバージョンを Microsoft (と IE 開発チーム) が重視していた事がよく分かります。

実際、Trident エンジンは大幅に書き直され、パフォーマンスと標準準拠の挙動を獲得しています。また Javascript エンジンも全面的に改められ (Code Name “Chakra”)、JIT コンパイラやマルチ CPU に対応したマルチ スレッド化により大幅に高速化しています。また以前のバージョンではレンダリング エンジンのパーサーと Javascript エンジンは疎結合で COM 呼び出しによりやり取りしていましたが、このバージョンでは密結合する事でオーバーヘッドを減らしています。

ここからはもう「現行」「現役」と言って良いバージョンなので、具体的な機能については細かく説明しなくとも良いでしょう。また標準対応についても“Can I use ..” などのサイトで確認した方が確実でしょう。

個人的にはベータ版の時点から Microsoft の本気度が感じられ、IE Blog の私訳掲載、「Internet Explorer 9 の誕生を祝う会 (ベータ版)」の開催など、その普及を願う活動を行っていた事が思い出されます (と言うほど昔の話でもありませんが)。そしてこのバージョンから久しぶりにメインのブラウザーとして Internet Explorer を利用するようになりました。

Internet Explorer 10

Internet Explorer 9 のリリースから 1年5か月後、2012年8月にリリースされた Windows 8 の標準ブラウザーとして Internet Explore 10 がリリースされました。Windows Server 2012 にも標準ブラウザーとして搭載されています。IE7 ⇒ IE8 ⇒ IE9 ⇒ IE10 とリリース間隔が短くなっているのは注目すべきでしょう。Windows 7 / Windows Server 2008 R2 用には 2013年2月26日にリリースされています。

Windows 8 は 2012年8月1日に RTM し、8月16日からボリューム ライセンス提供開始、10月26日に一般提供開始 (GA) されています。こうなるともうどの日を IE10 のリリース日とするべきなのか、判断に困りますね。

Internet Explorer 10 では Internet Explorer 9 で前進した「標準準拠と相互運用性」がより強化されています。追加された機能やその活用方法については (最近の事でもあり) 色々と記事も多く、また私自身も 1冊本を書いていますので、ぜひそちらをご覧ください。

前のバージョンからの大きな変更点の一つに、Quirks モードがそれまでの IE5 互換の動作から、Interoperable HTML5 Quirks モードと呼ばれる動作に変更された事があります。これにより Quirks モードでレンダリングされる事で以前の (特に IE6 との) 互換性を保っていた Web サイトやアプリケーションの動作に影響が生じています。この場合は互換表示を有効にすることで IE5 互換の Quirks モードとして動作させる事が可能ですが、そのためには HTTP ヘッダーで X-UA-Compatible ヘッダーを指定するか、ページ内に X-UA-Compatible meta タグを記述する手間をかける必要があります。

もう一つの変更点として、(64ビット版環境の場合) 拡張保護モードが利用可能になった点です。これは LCIE のフレーム プロセス / タブ プロセスを共に 64ビット プロセスとして動作させ、かつスタート画面のアプリと同様の AppContainer という一種のサンド ボックスで動作させるモードです。これによりより高いセキュリティが期待できます。拡張保護モードが無効の場合は、フレームが 64ビット プロセス、タブが 32ビット プロセスとして動作し、AppContainer は利用されません。

Internet Explorer 11

Internet Explorer 11 は Windows 8.1 と Windows Server 2012 R2 に含まれる形でリリースされました。Windows 8.1 は 2013年8月27日 RTM、10月18日一般提供開始 (GA) されています。また Windows 7 / Windows Server 2008 R2 向けにも 11月8日に提供開始されています。前バージョン以上にリリース間隔が短くなっている点は大注目でしょう。進化し続ける Web の世界で戦うために、これからもこのような比較的短い間隔での新バージョンリリースが続くのではないかと思います。

Windows 8.1 は GA 以前に9月9日から TechNet / MSDN サブスクリプション購読者向けに、9月18日から ソフトウェアアシュアランス (SA) 契約付のボリューム ライセンス契約者向けに公開されています。

このバージョンでも IE10 と同様「標準準拠と相互運用性」の向上に力が注がれています。IE7 以前の古いバージョンとの互換性についてはそろそろ対応を縮小し、それより前向きの進化に注力していく姿勢がより一層明確になったと思います。この辺りについては川田さんのブログに非常によくまとめられていますので、気になる方はぜひご覧ください。

他には拡張保護モードの動作に変更があります。Windows 8 では拡張保護モードを有効にするとフレーム プロセスもタブ プロセスもすべて 64ビット プロセスになっていましたが、Windows 8.1 (IE11) では拡張保護モードを有効にして AppContainer での動作をさせつつ、タブ プロセスは 32ビットで動作させる事ができるようになりました。これについては日本の IE サポート チームのブログに詳しい解説があるので参照してください。


以上、3日間に渡って Internet Explorer の誕生から今日までの歴史を簡単にまとめてみました。誤りやおかしな点などありましたらコメントでご指摘ください。よろしくお願いいたします。
カテゴリー:Yet Another Internet Explorer Advent Calendar 2013

Viewing all articles
Browse latest Browse all 125

Trending Articles