12周年記念パーティ開催! 2024/5/10(金) 19:00

IEとEdgeの関係とその違い 第1回 IE 11のおわりとMS Edgeのはじまり

IE 11の正式サポートが終了することが、マイクロソフトより発表されました。IEを振り返るとともに、後継として登場したMS Edgeとどう違うのかを見ていきましょう。

発行

著者 小山田 晃浩 フロントエンド・エンジニア
IEとEdgeの関係とその違い シリーズの記事一覧

はじめに

長年、制作現場での対応が必要だったIE 11は、2022年6月15日をもってマイクロソフトによる正式サポートが終了します(一部OS*を除く)。また、それに向けて主要なWebサイトも続々とIE 11のサポートを対応外とし始めています。

私たちのWeb制作現場でもIE 11のサポートを対応外とする流れが進んでいくものと思われますが、IE 11を外すと開発の仕方や表現の幅はどう変わるでしょうか?

このシリーズの前編では「IEとはなにか?」「MS Edgeとはなにか?」をおさらいし、後編ではIE 11対応が不要となった時代のコーディングの知識を共有します。

*注:サポートが続くOS

Windows 8.1と法人向けのLTS(長期保証)版OSについてはその後もサポートが続きますが、一般にはあまりないOSのため、通常のWeb制作においては無視してよいでしょう。

Windows のリリース バージョン(クライアントOS) IE 11のサポート終了日
Windows 8.1 2023年1月10日
Windows 10 2022年6月15日
Windows 10 Enterprise バージョン 2004 2021年12月14日
Windows 10 Enterprise バージョン 20H2 2023年5月9日
Windows 10 2019 LTSC 2029年1月9日

IEの歴史を振り返る

Internet Explorerは Windows本体(IE 4以降)に備わっていた、Windows標準Webブラウザです。2021年の今でも使われる技術の基盤を、1990年代に生み出した「すごいWebブラウザ」だったのです。

Internet ExplorerはWindows 95とあわせて登場した、Microsoftが開発するWebブラウザ。初期は拡張パックでの提供だったが、IE3からWindows 95に同梱され、Windowsの標準ブラウザになった。初期IEのAbout画面にはMosaicベースであることも記載されていた。

Internet Explorerの功績は、主なもので次ようになります。

  • IE 1: Webブラウザの始祖であるMosaicというブラウザの派生として1994年に誕生
  • IE 3: 1996年に世界で初めてCSSに対応
  • IE 4: 1997年に世界で初めてWebFontsに対応
  • IE 5: 1999年にSVGの祖先(VML/ベクター・マークアップ・ランゲージ)に対応
  • IE 5: 1999年にAjaxを生み出した

次のキャプチャ画像は、WebFontsが適用されたWebページをIE 6で表示した様子です。デバイステキストですので、選択・コピーや機械翻訳も可能です(WebFontsはIE 4から対応していますが、私の手元に残っていたのはIE 6のキャプチャのみでした)。

次のコードは上記のページに埋め込まれたCSSです。フォントのファイル形式がEOT(Embedded OpenType)で独自形式ではあるものの、CSSの書式は現在のWebFontsとまったく同じです。なお、EOTは「特定のドメイン専用のフォント」というWOFFと似た理念のフォント形式です。

<style type="text/css">
<!--
P { font-family: "French Script MT"; 
  font-size: 20pt; }
@font-face {
    font-family: French Script MT;
    font-style:  normal;
    font-weight: normal;
    src: url(FRENCHS0.eot);
  }
-->
</style>

このように、Internet Explorerは今から30年前に先進的なWeb技術を次々とサポートする、すごいブラウザだったのです。現在のChromeのような存在です。

Mac版Internet Explorer

余談ですが、Mac版のInternet Explorerも存在していました(macOSになる前のMac OSです!)。Mac版Internet Explorerは、1997年から2003年まではMac OSの標準ブラウザでした。

なお、Mac版Internet Explorerは、Windows版のInternet Explorerと名前こそ同じであるものの、ブラウザのエンジンは異なる別のブラウザでした。Windows版のエンジンはTrident、Mac版のエンジンはTasmanです。

30年前に先進的であったInternet Explorerは、ユーザーシェアを獲得し、一時期は90%を超えるまでになります。その一方で、広く使われるがゆえに、変化することに億劫になり、IE 6以降、その進化は止まってしまいました

IE 1が登場したあと、毎年のようにアップデートが行われていましたが、IE 6はリリース後5年以上もアップデートがされず、その後に登場したIE 7、8もその内容はIE 6とほとんど同じでした。また、IE 7、8が登場したあともIE 6(Windows XP)を使い続けるユーザーは多く、「IE 6は賞味期限9年超えの腐った牛乳」とまで呼ばれるまでになりました。

マイクロソフトオーストラリアによるIE 6からIE 8への移行を促すキャンペーン「So why use a 9-year-old browser?」で利用された画像。「IE 6は賞味期限9年超えの腐った牛乳」として揶揄されていた。

また、企業内イントラネットでの利用や、IE独自の技術であるActiveXに依存したオンライン銀行での利用など、「IE 6」に完全にロックインされた状態も、IE 6が進化できない原因でもありました。

IEが進化を止めているうちに、Firefox*やGoogle Chromeなど、より先進的なブラウザが登場します。

*注:Firefox

Firefoxは、IEとのブラウザシェア獲得に破れたNetscapeの後継ブラウザです。

IEは新たなライバルが登場したことで、新技術対応に積極的になり、IE 9ではHTML5やCSS3、SVG対応などの大幅に進化を遂げます。IE 9のリリースに合わせて、IEで対応した新技術のデモ集「Internet Explorer Test Drive」なども登場しました。

しかし、後方互換を大事にするあまり、結局は他のライバルブラウザの後追いをするだけとなってしまいました。そして、IE 11が最後のIEとなります。

過去を断ち切るためのMicrosoft Edge

同じ「IE」という製品名では、後方互換、つまりこれまでIE専用に作られたWebサイトを壊してはいけないという保証が求められます。そこで、マイクロソフトはIEに変わるブラウザとして、2015年7月15日にMicrosoft Edge(旧コードネーム: Spartan)というブラウザをリリースしました。Microsoft Edgeは新しいブラウザと言っても、実際はTrident(IEのエンジン)から、足かせとなる古いコードを削除したIEのフォークであり、実質「きれいなIE」です。

「新しいブラウザ」に合わせてアイコンもMicrosoft EdgeはIEとは異なるデザインになりましたが、「青いe」であることは変えませんでした。これは、ユーザーが「青いeをクリックすればインターネットが始まる」という体験を変えないためでした。

過去を切り捨てたMicrosoft Edgeが登場した一方で、IE 11は、「ブラウザ」ではなく企業内部などの「基幹システム閲覧用コンポーネント」の位置づけで残されました。

しかし、残念ながらMicrosoft Edgeはそれほどユーザー獲得はできませんでした。

あたらしいEdgeとIE 11の終焉

2020年に、Chromiumの派生として、「別のMicrosoft Edge」が発表されました。これにより、Edgeは次の2種類となります。

  • IE派生の旧Edge
  • Chromium派生の新Edge

IE派生の旧Edgeは「レガシーEdge」と呼ばれ、「Chromium派生の新Edge」に置き換わります。

これに合わせるかのように、IE 11は、2022年6月15日にマイクロソフト社による正式サポートが終了することがアナウンスされました。サポート終了日以降はWindowsアップデートにより、IE 11は使用できなくなり、IE 11を起動するとMicrosoft Edgeにリダイレクトされます。

マイクロソフトは、IE 11のサポート終了にまつわるさまざまなFAQをブログに掲載しています。

Chromiumベースを選択した意味

EdgeがChromiumベースになった背景にはいくつか理由がありますが、その一つとして、レガシーEdgeではうまく表示できないWebサイトが目立つようになってきたことが挙げられます。

レガシーEdgeは、Chromeのように先進的な技術の対応を進め、そのUserAgent文字列もChromeを装ったものとなりました。しかし、結果的にEdgeは「IEでもなく、Chromeでもない」ブラウザとなり、また、近年では、開発者が「シェアが少ないブラウザであるEdge」での動作チェックを怠ったこともあり、レガシーEdgeでは表示できないWebが出てきてしまいました。

マイクロソフトとしても、独自エンジンにこだわらず、よりユーザーに安全で優れたWeb体験を届けることを優先しました。

結果として、EdgeをChromiumベースとすることになりました。Chromiumはオープンソースであり、Google ChromeやOperaなどの他製品での利用が多いですし、 さらにWebKitの派生であり、Safariとの互換性もあります。

Chromiumベースとすることは、マイクロソフトがエンジンの開発競争から降りることを意味しますが、今後はChromiumへのコミットでWebを良くしていきます。

IEとEdgeの関係のまとめ

次の図は、ここまでのIEとEdgeの歴史を並べたものです。

ここまで見てきたとおり、1990年代は毎年のようにアップデートを行ってきましたが、IE 6以降進化が止まります。IE 9以降は、改めて新技術への対応を進め、IE 11からレガシーEdgeに派生します。しかし結果的に、Chromiumベースに移行することで、IEのエンジンであるTridentの歴史が終わります。

以降はEdgeはChromiumベースのブラウザとして、ChromeやSafariとの互換性が高いブラウザになります。これにより、Web開発者には次の利点が発生します。

  • Chromeで動く最新の技術はEdgeでも動きます
  • Chromeで表示や機能が壊れていなければ、Edgeでも問題ありません

この高度な互換性により、Web開発者が悩まされる時間も大きく軽減されるでしょう。

さて、新Edgeは最新のWindowsに限らず、Windows7以降、macOS、iOS、Androidでも利用できるようになります。

各OSにおける、Edgeの展開は次のようになります。

OS エンジン 表示結果とJS機能
Windows Blink(Chromium)
+ Trident(IEmode)
Chromeと同様
macOS Blink(Chromium) Chromeと同様
Android Blink(Chromium) Chromeと同様
iOS WebKit(WKWebView) iOS Safariに近い

iOS版のEdge

iOS版のEdgeは、Chromiumではなく、WKWebViewベースです。これは、アップルの規約により、iOSで独自エンジンのWebブラウザをリリースできない制約があるためです。WKWebViewはSafariと似ていますが、少し異なり、WKWebView独自の不具合があるため注意が必要です。

モバイルを含めたさまざまなOSで利用できることは、Edgeを利用するユーザーにも利点があります。

  • Windowsで何も設定しなくても、EdgeでChromeと同じ体験ができる
  • 他のOSでもEdgeを使える
  • OSを横断して同じ設定(「お気に入り」「パスワード」など)を利用できる

新Edgeに搭載されたIEモード

ChromiumベースのEdgeの登場により、IE 11は無効化されます。しかし世の中にはまだIE 11ではないと開けないWebページも存在します。

こうした、IEに強く依存したWebページを救済するために、Edgeには「IEモード」が搭載されています。この機能はWindows版のEdgeのみの機能です。

IEモードはEdgeのメニュー内から起動することができ、Edge内でiexplore.exeのエンジン、つまりIEが動作します。

IEモードで起動後、タスクマネージャーを見ると、iexplore.exeが動いているのがわかります。

IEモードは、Webページ単位でユーザーが起動する方法に加えて、「エンタープライズ モード サイト リスト XML」により、自動でIEモードに移行するべきWebページをまとめて管理することもできます。

ですから、IE 11のリタイア後も、EdgeとIEモードがあれば世の中にあるほとんどのWebサイトをこれまでどおり表示できるわけです。

これまでは、レガシーEdgeとIE 11が一つのOS内に共存し、それを使い分ける必要がありましたが、新Edgeは一つのブラウザで完結できるわけです。これはGoogle Chromeにはない機能で、ここだけ考えるとEdgeはGoogle Chromeの上位互換といえるかもしれません。

IEモードの起動と設定

IEモードを手動で起動するには、IEモードで開きたいサイトにアクセスしたら、Edgeの右上のメニューの「設定」から、「Internet Explorerモードで再読み込みする」を選択します。

このとき、設定内に「Internet Explorerモードで再読み込みする」がない場合には、Edgeの右上のメニューの「設定」から、「既定のブラウザー」を選び、「Internet Explorerモードでサイトの再読み込みを許可」を「許可」にしておきます。

主要サイトでもIE 11対象外が本格化

IE 11のサポート終了、新Edgeの登場により、主要サイトでも次々とIE 11サポート終了を実行しています。

たとえば、次のWebページでは、IE 11のサポート終了済み、または近いうちに終了することを発表しています。これだけのWebサイトがIE 11非対応となると、もはやIE 11ではインターネットはできないでしょう。

*注:Google検索

公式のアナウンスではありませんが、Google検索でもIEのサポートを切ったようです。Googleのソフトウェアエンジニアがツイートしていました。

今、IE 11対応をするリスク

さて、Web開発の現場では、いまだにIE 11対応を求められることが稀にあります。しかし、今IE 11対応を行うということは、さまざまなリスクがあります。

最近ではIE 11非対応のJSライブラリが増えてきていますから、IE 11対応を行うと、それはモダンなJSライブラリを使えないということになります。古いバージョンのライブラリを利用するとしても、新しい機能が使えないことはもちろんですが、最新バージョンで解決済みのバグが存在することもあります。

また、CSS Hack、JS分岐、ポリフィルなどのIE 11専用コードが必要となり、コードの量が増え、それはコードの見通しを悪くします。そして結果的にメンテナンス性の低下につながります。ファイル量や実行負荷も増え、Webサイトの表示速度が下がるでしょう。

これは、開発者にとってもユーザーにとっても不利益です。

IE 11対応が誰のためかを、一度考えてみましょう。多くの場合は、

  • 「クライアントの上司」のパソコンが古いから
  • 制作ガイドラインが古いが、それにただ従う必要があるから

といった、実際のユーザーや開発者を考えていない、時代遅れの理由だったりしませんか? もしそうなら、もう一度クライアントと相談してみましょう。

  • ガイドラインの最終更新日
  • 閲覧ユーザーのブラウザシェア

など、見直すべき箇所はきっとあるはずです。

新しいブラウザが登場する中で、「古いブラウザ対応をしつつ、新しい技術を使いたい」というのは「プレイステーション2でプレイステーション5のゲームをやりたい」と言っているようなものです。先進的な技術、体験が求められるのであれば、古いブラウザを捨てる必要があります。

IE 11のような古いブラウザ対応をしないのであれば:

  • 対応コストが減る
  • 確認コストが減る
  • 運用コストが減る
  • 新しい技術で、できることが増える

といった利点があり、結果的に運用負荷低下、サイトの寿命が延びるという結果になります。

さて、次回はIE 11対応を外すことで、どんな技術が使えるようになるかの一例を紹介します。CSSの表現が中心になる予定です。