マイクロソフトは2015年7月末、Windows 10をリリースしました。
Windows 10にバンドルされた新しいWebブラウザー「Microsoft Edge」(以降、Edge)は、マイクロソフトCEOのサティア・ナデラ氏の思想が全面に打ち出されたブラウザーです。
ナデラ氏の思想とは何でしょうか。2014年の春のことです。CEOがバルマー氏からエンジニア出身のナデラ氏に変わった際に、彼はこう語っています。
地球上のすべての人々と組織が、もっとたくさんのことを成し遂げ、もっとたくさんの成功が得られるようなパワーを得られるよう、マイクロソフトは生産性を改革しなくてはならない
つまり、すべての人々・組織の生産性を変える活動こそが、マイクロソフトにとってのゴールになったのです。具体的には、さまざまなOSSプロダクトにマイクロソフトの社員がコミットしたり、Macユーザー向けに開発ツールを提供したり、AndroidやiOSといった他社OS向けのアプリの開発をしたりと、多くのプラットフォームに活動の領域を広げています。Windowsを使わないユーザーも含めた、地球上すべての人類・組織が最高の生産性をあげあられるように革新しようとしているのです。
本稿では、そうした「思想」が反映された新ブラウザーであるEdgeが、Web制作者の仕事をどう変えるのか、紹介します。
独自実装、Web標準を経て、デファクトスタンダードに
かつて、マイクロソフトはInternet Explorer(以降、IE)によって圧倒的なブラウザーシェアを握る、「IE一強」と呼ばれる時代がありました。当時のIEは、独自実装の豊富な機能によりWebを大きく発展させると同時に、バージョンごとに相互運用ができないという問題を抱えていました。Web制作者は、IEのバージョンごとに、何かしらの対策を講じることを強いられたのです。今でも、バージョンアップまでに長期間かかったIE6の印象が強烈で、IEによい印象を持てないWeb制作者もいるでしょう。
IE開発チームはWeb標準へ準拠することで、Webサイトのバージョン依存問題を解決しようと改善を進めました。IE7の時代から改善が始まり、IE9からは従来に比べて相互運用性の高いブラウザーになりました。
そこに再び問題が訪れます。アップルのiPhoneブームにより、これまでとは逆に、IEがサポートしない独自実装が広く使われるようになったのです。例えば、CSSの「flexbox」は、名前までごっそり変わるほどの仕様変更が繰り返されました。いまだに多くのWebサイトは古い仕様に依存し、WebKitのベンダープレフィクスでなんとか動かしています。開発者はよりよいエクスペリエンスを求めますから、ブラウザーの独自実装であろうがWeb標準であろうが関係なく、使えるものは使います。SafariやFirefoxなど一部のブラウザーのみでしか動かなくても、まったくお構いなしです。
HTML5の登場によってWeb標準に準拠することがしきりに叫ばれましたが、実際にはブラウザーごとに微妙な差が生じたりして、理想通りとならないことも多くあります。不具合があっても、なかなか修正されず、結果として不具合を抱えたまま正式な仕様として採用されてしまうこともあります。
こうした状況を受け、マイクロソフトは、人々に広く使われている独自実装については、例えWeb標準に準拠していなくても、正式にサポートしていく方針へと変えました。マイクロソフトは「Edgeからこの流れに入った」とコメントしていますが、厳密にはIE11の時点でWebKitのバグを含んだ独特のプレフィクスをサポートするなど、対応を始めています。
IE or Edge ?
Windows 10には、WebブラウザーとしてIEとEdgeの2つがバンドルされています。両者の違いについてお話しておきましょう。
Windows 10にバンドルされているIEは、Windows 8.1にバンドルされていたIEとバイナリレベルで同等で、互換性の面での問題が小さくなるよう配慮されています。Windows 10以降のIEは、過去の互換性のみにフォーカスしており、企業内などにある古いWebのシステムを対象にしています。Windows 10ではデフォルトでIEが選択されることはありませんので、今後、インターネット上のサービスは、IEではなく、Edgeでテストしていくことになるでしょう。
IEとEdgeとでは、大きく異る方針によって開発が進められています。すべての機能を取り上げるとキリがないので、Web制作者に影響のある範囲で見ていきます。
a.ユーザーエージェントが変わる
新しい機能を使って従来より高いエクスペリエンスを提供する場合、Webではブラウザーやバージョンを検出するような方法は推奨されず、機能を検出して利用することが求められています。しかし、いくつかのWebのサービスでは、いまだにIEの特定のバージョンに限定して使うことをユーザーに求めています。
これらの悪しき習慣を改めるため、マイクロソフトは、技術的な制約をあえて設ける方針を進めています。IE11では、IEであることを特定させないために、ユーザーエージェント文字列を変更しました。Edgeからは、SafariやChromeといった高いシェアを持つモバイルブラウザーに特化したサイトへアクセスできるよう、これらのブラウザーを真似た文字列に変更しています。
ユーザーエージェント文字列からブラウザーやバージョン検出を活用しているWebサイトは、今後はやり方を改善することが求められます。どうしてもマイクロソフト製ブラウザーのみを判別して表示方法を切り替えたい場合は、ユーザーエージェント文字列の判定条件を変更する必要がありますが、今後もそれが機能し続ける保証はありません。ユーザーエージェント文字列が予告なく突然変更され、動かなくなってしまうということもあるでしょう。
b.バージョンアップの考え方が変わる
IEはバージョンアップのスピードが遅いと批判されていたため、近年、マイクロソフトは自動更新機能を搭載しました。従来はメジャーバージョンアップで機能を更新していましたが、IE11からは、セキュリティ対策を目的だった定期アップデートで、機能も更新されています。もはや、メジャーバージョンを持たせる意味が失われています。
そこでEdgeでは、FirefoxやChromeなどと同じく、「メジャーバージョン」が廃止されました。また、Windows 10では一部のWindowsプロダクトを除き、強制アップデートで最新の機能がどんどん追加されていく方法に変更されました。IEの時代は特に問題になりがちだったリテラシーが低いユーザーも、何も意識せず常に最新のバージョンが適用されることになります。
※ ユーザーの目にみえないところでは、メジャーバージョンに相当するものが継続して与えられる可能性があります。
c.サポート機能が変わる
IEとEdgeは、異なるレンダリングエンジンでWebページを表示しており、対応するサポート機能にも違いがあります。
例えば、JavaScriptの標準であるECMAScriptの対応状況について、ECMAScript Compatibility Tableを確認してみてください。IE11の対応状況は驚くほど悪いですが、Edgeについては、比較的対応が良いとされるFirefoxと常に競い合っている状況です。今後も常時、更新されるでしょう。
d.古いIE独自機能が削除、プラグインはFirefox/Chrome化
VBScriptやActiveXといったIE独自の機能は、Webの可能性を高める上で大きく貢献しました。しかし、複数のブラウザーに対応することが当たり前になった以上、独自機能はかえって扱いにくい性質が際立っています。HTML5の浸透、Web標準を使ったクロスプラットフォーム対応機能が増えてきたため、IE独自の機能はあまり利用されなくなりました。このような背景から、EdgeにはIE独自機能が受け継がれていません。
プラグインについては、FirefoxやChromeに近いフォーマットを採用しており、従来よりも業界標準へ合わせる方向へ変わっています。Flashは継続的にサポートされる予定ですが、Sliverlightはサポートされません。マイクロソフトはWeb開発者にSliverlightを使わず、Web標準で対応していくことを求めています。
今後はどう変わっていくのか?
Edgeによって、メジャーバージョンアップのタイミングで、まるでセレモニーのように新機能を発表していく従来の方式ではなくなり、他のブラウザーと同様、今後は少しずつこっそりと更新を繰り返すことになります。ロードマップは、Microsoft Edge Platform Statusとして公開されており状況がマメに更新されています。
繰り返し言いますが、今のマイクロソフトは、基本的に、業界標準やデベロッパーの要望を重視しています。「Edgeはこうあって欲しい」という想いがあれば、「Microsoft Edge Suggestion Box」で意見をぶつけられます。投稿された意見への賛同はとても簡単で、タイトルの横にある「vote」をクリックするだけです。すべて英語なので若干ハードルは高くなりますが、ぜひチャレンジしてみてください。
EdgeはIEとはまったく異なる思想で開発されるブラウザーになりましたが、新CEOの価値観に沿うなら、UI側のモビリティ強化や開発ツールとの連携といった、従来とは異なる方向性での改善で差別化がされていくことになるでしょう。今後の動向も楽しみです。
著者:川田 寛(かわだ・ひろし)
Web技術の動向を追い、W3Cへのコントリビュートや雑誌への寄稿でテクノロジーの進化に貢献する。Microsoft MVP(Internet Explorer)を受賞。2009年にNTTグループのSIerへ入社し、2015年よりピクシブ株式会社へ転職。創作活動をよりハッピーに変える方法を模索するサービス指向エンジニアとして活動する。