Microsoftは1月21日(米国時間)、新たなWebブラウザー「Project Spartan」を発表した。将来的にはInternet Explorerに置き換わる存在として、現在開発を進めている。Windows 10向けを前提に設計し、キーボードやマウスはもちろん、タッチジェスチャーや音声(Cortana)、各種センサーによる操作を可能とする予定だ。

現在開発中の新Webブラウザー「Project Spartan」

限界に達したTridentエンジン

ポイントは新しいHTMLレンダリングエンジンの存在である。Internet Explorerは伝統的に「Trident」エンジンを搭載してきた。ファーストバージョンは1997年にリリースしたInternet Explorer 4の時代というから約20年前。改良を重ねつつ、現在のInternet Explorer 11に搭載されたTrident 7.0に至るまで使い続けてきたことになる。

Project Spartanが搭載する新HTMLレンダリングエンジンは「Edge」という名称になる予定だが、その概要は昨年11月の公式ブログ記事で解説されていた。3D空間内で各位置を維持しながら要素を描画する「transform-style」やコンテントセキュリティポリシー(CSP 1.0)などのWeb技術をサポート。モダンWebブラウザーと呼べる存在だ。

長年使用してきたTridentの核となる「Mshtml.dll」(左)と新レンダリングエンジンのEdgeの「Edgehtml.dll」(右)。Windows 10テクニカルプレビューで存在を確認した

注目すべきはTridentをバージョンアップするという選択肢がなかったのか、という点である。Internet Explorerのファーストバージョンは1995年8月にリリースされた。当時はWebの標準技術に沿わず独自技術を実装していたが、他方でCSSやダイナミックHTML、DOM、AJAXといった現在につながるWeb標準技術の実装にも注力していた。

増築を繰り返した建築物は耐震性など多様な問題を抱えるため、建て直した方が早い。しかし、Internet Explorerは普及しすぎてしまった。そして前述した機能実装の相違が互換性問題を生み出してしまった。

その結果、Internet Explorer 8以前と以降のバージョンでレンダリング方法を切り替える「互換表示」や、企業内のイントラネットをInternet Explorer 11で正しく表示できない場合に対応する「エンタープライズモード」の実装に至っている。すでにTridentエンジンは増築しすぎた存在なのだ。MicrosoftのInternet Explorerチームは、これ以上既存のレンダリングエンジンを拡張するより、再構築する方がスマートだという結論に至ったのだろう。

新HTMLレンダリングエンジンEdgeを試す方法

新Webブラウザー「Project Spartan」や新レンダリングエンジン「Edge」、基本的には歓迎すべき存在だが、過去の資産との間に互換性の問題が発生する。そこでMicrosoftは、Windows 10にInternet Explorerを残しつつ、レンダリングエンジンを切り替えるという手法を用意した。

具合的には、Project SpartanでレガシーなWebサイトにアクセスした場合、必要に応じて、EdgeからTridentにレンダリングエンジンを切り替えるという。Internet ExplorerチームのJason Weber氏は、この仕組みを「デュアルレンダリングエンジン」と称している。

Project Spartanは、従来のTridentとEdgeという2つのレンダリングエンジンをサポートする

上図は公式サイトに掲載されたGIFアニメーションを切り出したものだ。Tridentは互換性や下位互換性を優先し、イントラネットやエンタープライズモードを必要とするWebサイト向けのレンダリングエンジン。Edgeは運用性やモダンWebサイト向けの標準レンダリングエンジンとなることを意味している。なお、この仕様はProject Spartanだけではなく、Windows 10上のInternet Explorerも同様の仕組みとなる予定だ。

また、Internet Explorerチームは「Project Spartanの拡張機能に取り組んでいる」と、将来的に拡張機能をサポートすることをTwitter上で明らかにした。Mozilla FirefoxやGoogle Choromeのように、Internet Explorerもアドオン管理機能を備えるようになったが、開発コミュニティの拡大につながらなかったのは歴史を振り返れば明らかだ。Project SpartanはPCに限らず、スマートフォンのWindows 10での動作も想定しているため、拡張機能の整合性は気になるが、ひとまず期待を持ちたい。

なお、Windows 10と共に開発が進むProject Spartanだが、いち早くEdgeを試したい方はWindows 10テクニカルプレビュー上のInternet Explorerで設定を変更するか、RemoteInternet Explorerを実行するとよい。

アドレス欄に「about:config」と入力し、「Enable Experimental Web Platform Features」を<Enabled>に変更。その後、<Apply Changes>ボタンをクリックしてInternet Explorerを再起動すればEdgeエンジンが有効になる

Windows 8.1上でRemoteInternet Explorerを実行した状態。こちらのHTMLレンダリングエンジンもEdgeが有効になっている

阿久津良和(Cactus)