Chrome互換に生まれ変わる次期Microsoft Edge その実力は?:Windows 10 The Latest
HTMLレンダリングエンジンをこれまでのEdgeHTMLから、Google ChromeのベースとなっているBlinkに変更することが明らかにされた「Microsoft Edge」。そのプレビュー版が公開された。本稿ではそのファーストインプレッションをお伝えする。
■記事内目次
現行のMicrosoft Edgeは、「EdgeHTML」と呼ばれるHTMLレンダリングエンジンを採用しているが、将来的にはGoogle Chrome(以下、Chrome)と同じBlinkレンダリングエンジンをベースとしたものに切り替わる予定だ。そのプレビュー版が公開された。
具体的には、Chromeのオープンソース版ともいえるChromium(クロミウム)をベースに現行のMicrosoft Edge風のUIを施したものだ。ここでは、現行のEdgeHTML版Microsoft Edge(以下、単に「Microsoft Edge」と呼ぶ)と区別するため、プレビュー中のMicrosoft Edgeを「Chromium版Edge」と呼ぶことにする。
なお、Chromium版Edgeはまだ開発途上であり、2019年5月6日から8日に開催された開発者会議「Microsoft Build 2019」において、2019年後半にリリースされるバージョンにおいて、Chromium版Edge でシームレスにInternet Explorerのレンダリングエンジンに切り替えられる機能などが実装予定であることを明らかにしている(詳細は、Windows Blog「Microsoft Edge ? All the news from Build 2019」参照のこと)。本稿では、原稿執筆時点のChromium版Edgeのプレビュー版をもとに、外観や機能などについて見ていくことにする。
Chromiumとは?
Chromiumは、オープンソースで開発されているWebブラウザのプロジェクトならびに、そのプロジェクトで開発されたWebブラウザ名である(Chromiumのプロジェクトの詳細は、「The Chromium Projects」を参照のこと)。
Chromeは、このChromiumをベースに、Flash Playerを内蔵したり、自動アップデート機能を追加したりしたものである。そのため、Chromeは、Chromiumと大部分のソースコードを共有しているものの、完全に同じではない。
Chrome/Chromiumは、Blinkと呼ばれるHTMLレンダリングエンジンと、V8と呼ばれるJavaScript実行エンジンを利用して作られたWebブラウザである。この2つは、ブラウザの基本機能であり、同じエンジンを採用すれば、同一のWebページやJavaScriptに対して同じ結果が得られる。
もともとChrome/Chromiumは、WebKitをレンダリング/JavaScriptエンジンとして採用していた。しかし、開発の方向性の違いなどから、WebKitをベースに新たにBlinkとV8を開発することになった。このため、WebKitを使うAppleのSafariなどのブラウザと挙動は似ているものの、動作に違いが出るようになった。
いずれのレンダリングエンジンも、HTML5に準拠しており、基本的な動作に大きな違いはない。しかしWebブラウザは発展途上であり、さまざまな仕様が現在も追加されている(HTML5への準拠度合いも異なる)。また、たとえ仕様が固定されたとしても、ブラウザ同士の競合を考えると、速度や表示品質の改善など、改良すべき項目はなくなることはないため、常に開発し続ける必要がある。こうした背景から、プロジェクトが異なれば、同一URLにアクセスした場合の挙動が異なる可能性がある。
Chromium版Edgeとは
Chromium版Edgeは、Chromiumをベースに作られたMicrosoft Edgeだ。HTMLのレンダリングやJavaScriptの振る舞いはChromiumと同じになるが、ソフトウェアとしては別であるため、例えば拡張機能や設定ページ、各種UIなどは、Microsoft Edgeを踏襲したものになっている。
Chromium版Edgeのプレビュー版がすでにMicrosoft Edge Insiderのサイトでダウンロード可能となっており、Windows 10 October 2018 Update(バージョン1809)などにインストールして動作などを確認することができる(インストール方法は後述)。
メニュー構成を見てみるとは、Chromeとは異なり、Microsoft Edgeに似ており、メニューアイコンも同じく横に点が3つ並ぶアイコンだ(Chromeのメニューアイコンは点が縦に3つ並ぶ)。拡張機能については、Microsoft Edge用の拡張が利用可能で、Chrome用の拡張機能もインストールして利用できる(詳細は後述)。
Chromium版Edgeのメニュー構成
開発版のためメニューは英語表示だが、メニュー項目の内容は上画面の現行のMicrosoft Edgeに近いことが分かる。メニューにアイコンが表示される部分などでEdgeとChromium版Edgeは似ているが、リーディングリストがなく、新しいタブ(New tab)がメニュー項目にある点では、Chromium版Edgeは、Chromeに似ている。
逆に、Microsoft Edgeが持つ、タブ保存の機能などは、執筆時点のChromium版Edgeにはない。Microsoft Edgeの「メモを追加」や「共有」機能などもいまのところ実装されていないようだ。ただし、開発途上で未実装なのか、搭載予定がないのかはまだ分からない。
GUI面にも、少々違いがある。Microsoft Edgeのタブは、タイトルバーと同じ高さなのに対して、ChromeやChromium版Edgeのタブは、タイトルバーよりも少し背が低い。ただし、Chrome/Chromiumのタブは角を構成する曲線の曲率が大きいのに対して、Chromium版Edgeはわずかであり、一見、角張っているようにしか見えず、この点ではMicrosoft Edgeに似ている。
ざっと触った感じ、Webページを表示する点においては、EdgeやChromeとの違いは見つけることができなかった。
Chromium版Edgeのプレビュー版をインストールしてみる
Chromium版Edgeは、以下のMicrosoft Edge Insiderのサイトから、インストールプログラム「MicrosoftEdgeSetuo.exe」をダウンロードして、インストールすることができる。
- Microsoft Edge Insider(Microsoft)[英語]
Chromium版Edgeをダウンロードする
Microsoft Edge Insiderページを開き、[Download Dev Channel]ボタンをクリックすると、インストールプログラムがダウンロードできる。
3種類あるプレビュー版
現時点では、プレビュー版は、通常のアプリケーションと同じように手動でインストールが可能だ。ただし、プレビュー版には、開発状態に応じた3つの「チャンネル」がある。
ある程度開発が進んだβ版を配布する「Betaチャンネル」
1つ目は、「Betaチャンネル」で、ある程度開発が進んだβ版を配布する。ただし、執筆時点では、β版Edgeは配布されていない。おそらく、大規模なβテストを行うまでは開発が進んでいないと思われる。実際、ちょっとした操作でクラッシュして終了してしまうことがあった。
開発中のビルドの中から比較的安定したものを配布する「Devチャンネル」
2つ目は「Devチャンネル」で、こちらは開発中のビルドの中から比較的安定したもので、Microsoftなどである程度の評価が行われたものが公開される。取りあえず触ってみるという用途であれば、これを選ぶべきだろう。また、Webサイトがどのように表示されるか確認する、といった用途もDevチャンネルを使うべきだろう。
デイリービルドをそのまま配布する「Canaryチャンネル」
3つ目は、「Canary(カナリー)チャンネル」で、毎日行われている「デイリー」ビルドをそのままダウンロードできる。ビルドとは、ある時点のソースコードから実行ファイルを作ることだ。大規模なソフトウェアでは、ビルド作業自体にも時間がかかるため、1日1回程度にとどめる。毎日行われるビルドを「デイリービルド」と呼ぶ。
デイリービルドは開発途中の状態であるため、ビルドごとに安定度などがかなり異なる。開発の最新状態を反映したものだが、半面、不安定でクラッシュ発生の頻度が高くなってしまうこともある。Microsoft Edgeの拡張機能など、Microsoft Edgeと強く関連したソフトウェアの開発などでは、デイリービルドを使って評価を行うことがある。
カナリーとは開発関連の用語で、かつて炭鉱などで有毒ガスの検出にカナリアを使ったことに由来する。評価したときに発生した問題が開発プロジェクトにとって危険の兆候として利用できるという意味で、評価者が「カナリア」の役目を果たすため、「カナリア(たち)のビルド」という意味で使われることがある。本家ChromeにもChrome Canary Buildがある。また、Windows 10も社内で評価するビルドをCanaryと呼んでいるようだ。
Devチャンネルをインストールしてみた
今回、Windows 10の「October 1018 Update(バージョン1809)」「May 2019 Update(バージョン1903)」「20H1」に、Devチャンネルで配布されているバージョンをインストールしてみた(原稿執筆時点では、Betaチャンネルでの配布は開始されていない)。現行のWindows 10を含め、3つの環境でChromium版Edgeのインストールが可能だった。
これまでのMicrosoft Edgeは、Windows 10の機能アップデートのとき配布されていたため、機能追加なども年2回に限定されていた。また、さまざまなWindows 10の新機能(近距離共有など)に対応している半面、Windows 10への依存が大きかった。
そのため、あるバージョンのMicrosoft Edgeで障害が発生したときに、Microsoft Edgeだけを前のバージョンに戻すといった手段がなかった(もちろんWindows 10自体を前のバージョンに戻すことはできるが……)。その点では、扱い難いものといえた。
Chromium版Edgeは、複数のWindows 10で動作したことから、従来のMicrosoft Edgeに比べると、Windows 10自体への依存度は低く抑えられており、一般アプリケーション並なのだと考えられる。場合によっては、現行のChromeのように、アップデートを延期したり、アンインストールして前のバージョンをインストールしたりするといったことも可能になるかもしれない。
User Agentを調べてみる
短時間の評価では、HTMLレンダリングやJavaScriptの細かい挙動の違いなどを見つけることは難しいため、はっきりと分かる部分を調べてみた。まずは、User Agentである。これはWebブラウザが、Webサーバの要求に応じて送る、Webブラウザ自身の情報である。一般にWebサーバは、User Agentを見て、接続しているWebブラウザを識別し、場合によっては、Webブラウザごとに応答を変えるといった処理を行うことがある。
User Agentについては、接続中のブラウザからの情報を表示してくれるWebサイトがあるのでこれを使ってみた。これによると、現行のMicrosoft Edge、Chromium版Edge、Chromeの3つのWebブラウザは、下表のようなUser Agentを返している。
ブラウザ | Windows | User Agent(前方部分を省略*2) |
---|---|---|
Microsoft Edge | バージョン1809 | Chrome/64.0.3282.140 Safari/537.36 Edge/18.17763 |
Microsoft Edge | 20H1 | Chrome/70.0.3538.102 Safari/537.36 Edge/18.18875 |
Chromium版Edge | 20H1*1 | Chrome/75.0.3763.0 Safari/537.36 Edg/75.0.131.0 |
Chrome | 20H1*1 | Chrome/73.0.3683.103 Safari/537.36 |
各WebブラウザのUser Agent *1 Windows 10 October 2018 Update(バージョン1809)でも同じ*2 「Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) 」は同じだったため省略 |
なお、User Agentの先頭部分は、どのWebブラウザも全て同じで、違いは後半部分のみであった。これは、Webサーバ側としては、ブラウザのHTMLレンダリングエンジンが、「Trident(IE)」「Gecko(Firefox)」「WebKit系(Safari/Chrome/Microsoft Edge)」のどれなのかを判定するだけで足りることが多いからだ。
後半部分も、先に来るのは、互換性があると想定されている他のブラウザ名称とバージョンをスラッシュで区切ったものだ。一般にUser Agentは、前方から一致を調べていき、Webサーバ側は判定に必要なWebブラウザ名が現れたところでバージョン番号を取得する。このため、後発のWebブラウザは、後に自分のWebブラウザ名とバージョンを置き、前に互換性のあるWebブラウザ名とバージョンを配置する。ある意味、現行の全Webブラウザは、User AgentでMozilla(Netscape Navigatorの開発コード名)と互換性があると主張しているといえる。
後半部分は、Webブラウザの実際の名称やバージョンなどを含む。やはり違いはここになったが、通常版Microsoft Edgeとの違いは、Webブラウザ名を表す文字列が「Edge」から「Edg」になっていること、バージョン番号体系が変化していることだ。
Microsoft Edgeでは、「Edge」の後にピリオドで区切られた2つの数字があり、そのうち2つ目は、ビルド番号に対応している。これに対して、Chromium版Edgeでは、「Edg」の後にピリオド3つで区切られた4つの数字がある。この形式は、Chromiumの形式であり、おそらくは、ベースになったChromiumのバージョンを利用して作られたバージョン番号であろう。
拡張機能はどうなっている?
Microsoft Edgeの特徴として、拡張(Extension)によるWebブラウザの機能追加、機能拡張が行える点がある。Internet Explorer(IE)では、ActiveXと呼ばれるOLEを使ったバイナリコンポーネントにより機能拡張を行っていたが、これはセキュリティ面などで大きな問題があった。いったんComコンポーネントに制御が渡ると、何でもできてしまい、セキュリティ保護を行うための手段が何もない状態となってしまうからだ。ハードウェアとの連携や高度な機能などが実現できる手法だが、Microsoft Edgeは、これを引き継がなかった(実際には、その前に登場した64bit版IEが32bit ActiveXコードに対応せず資産を引き継がなかった)。
このために登場したのがHTMLやJavaScriptを使う「拡張」機能だ。これは、Chromeの拡張機能を手本としたものだが、Microsoft Edgeの拡張機能は、Chromeのものにコンセプトが似ているものの、互換性がなく、独自に開発を行う必要があった。
実際のところ、Microsoft Edgeの拡張機能の開発は、盛況とは言い難い状況が続いていた。Chromeにある拡張機能のうち、Microsoft Edgeに対しても開発した人はごくわずかであった。そのため、拡張する機能はあるものの、肝心の拡張機能自体がなくて、Chromeからの乗り換えを断念するといった状況もあった。また、翻訳など主要な拡張機能はGoogle自身のもので、Microsoft Edgeには対応していなかった、ということもある。
今回、Chromium版Edgeは、従来のMicrosoft Edgeの拡張機能に加え、Chromeの拡張機能に対応する。ある意味、Chromiumをベースとした背景には、この拡張機能というエコシステムが関係している。いまのままでは、拡張のエコシステムは、Microsoft Edgeでは大きく育つ可能性がほとんどない。
拡張機能の比較
Chromium版Edgeは、従来のMicrosoft Edgeの拡張機能も動作する。Edge拡張を入れてみたが、動作に違いはなかった。ただし、Chromium版Edgeはアドレスバーにサイト名を表示する関係からウィンドウ幅を狭くすると拡張アイコンがメニュー側に表示される。
拡張機能を試してみた
では、拡張機能を試してみよう。まず、これまでのMicrosoft Edgeの拡張機能だが、いまのところWeb版のMicrosoft Storeからダウンロードを行う。ただし、総数を数えてみたところ、Windows 10 October 2018 Update(バージョン1809)のMicrosoft Edge拡張(Microsoft Storeアプリ上)は、227個あるのに対して、Chromium版Edgeでは118個しか表示されない。ライセンス的な問題なのか、技術的な問題なのかは、不明だが、少なくとも現時点では、全てのEdge拡張が利用できるわけではないようだ。
Chromium版Edgeでは、Chromeウェブストアからの拡張(Chrome拡張)のインストールを行うことを「Extension from other stores」(他のストアからの拡張)と呼ぶ。これを行うには、URLとして「edge://extensions」を開き、ここでページ左下にある「Allow extension from other stores」を「オン」にする必要がある。
Chromeウェブストアからの拡張機能のインストールを許可する
extensionsのページには、「From Other sources」にChrome拡張が表示され、Chrome拡張は普通に動作できる。
その後、「Chromeウェブストア - 拡張機能」を開く。
このとき、ページ上部には、「You can now add extension from the Chrome Web store to Microsoft Edge」とメッセージが表示される。あとは、通常通りに必要なChrome拡張を探して追加すればよい。
これでChrome拡張は、Chromeと同じように動作するはずである。全部のChrome拡張を試したわけではないが、幾つかのChrome拡張を試した限り、問題が発生するようなことはなかった。もっとも、これはChromiumベースだから当然といえば当然ではある。
なお、インストールした拡張(Microsoft Edge/Chromeの両方)は、Chromium版Edgeでは、アドレスバーの右側に拡張のアイコンが並ぶ(これはChromeと同じ)。また、前記の「Edge://extensions」には、インストールした両方の拡張が表示される。表示方法は、Chromeとは違うが、機能的にはほぼ同等と思われる。
設定ページなどはどう変わる?
アドレスバー右端に[メニュー]アイコンがあり、そのメニューから[設定](Settings)を選択すれば、いわゆる設定ページが開く。またURLを使って「edge://settings」(Chromeでは「chrome://settings」)で設定ページを開くこともできる。
しかし、設定ページの構成は大きく異なる。Chromium版Edgeの設定ページは、左側に大分類が並び、選択した項目に関係する設定がページ右側に表示される階層構造を取っている。それに対してChromeは、設定と詳細設定に分かれるものの、1ページの中に全ての項目が並ぶ構造だ。
例えば、Flash Playerの動作許可やPDFファイルのブラウザ内での表示許可などを設定する場合、Chromeでは[詳細設定]−[プライバシーとセキュリティ]−[コンテンツの設定]から行っていた。Chromium版Edgeでは、ほぼ同じ設定が「Site permissions」の中にある。
なお、設定で言語として日本語を選択可能だが、設定ページやメニューなどの表記は英語のままで変化しなかった。原稿執筆時点で配布されているChromium版Edgeは、まだ日本語のメッセージリソースなどが提供されていないようだ。
Microsoft Edgeの「再起動」?
2018年秋に提供されたWindows 10 October 2018 Update(バージョン1809)のWindows Insider Previewでは、「Sets」と呼ばれる機能が途中で配布中止になった。
Setsは、複数の異なるアプリケーションのウィンドウをタブ形式で1つのウィンドウにまとめ、タブ状態を記録できるというものだった。そのタブ構造はMicrosoft Edgeのタブそのもので、Setsの中でMicrosoft Edge上のWebページからWindowsアプリケーションが起動可能になるなど、重要な役割を果たしていた。
しかし、途中でSetsのプレビューは終了し、バージョン1809にSetsは搭載されなかった。いまから考えると、Setsのプレビューが終了した理由は、Edgeの方向転換なのではないだろうか?
Setsとは、Windows 10のウィンドウをMicrosoft Edgeのようにタブ化するもので、古くは、IE4で行われたWindows ExplorerとInternet Explorerの統合を思い出させる機能だった。ただ、Microsoft EdgeがChromiumベースになるという決定を受け、Sets自体が見直しになった可能性がある。
Setsでは、「仕事」単位でウィンドウをタブとして1つのウィンドウにまとめ、これを使って中断した仕事を再開するような使い方を想定していた。現状、検索やさまざまなサービスの実行などで、Webブラウザは、仕事でも重要な役割を担うアプリケーションだ。
Microsoft Edgeのタブ形式ウィンドウをベースにWin32アプリやUWPのウィンドウをまとめるSetsというコンセプトを考えると、Microsoft EdgeのChromiumベースへの移行は、大きな影響があったに違いない。もしかすると、Sets自体、このままお蔵入りする可能性もあるだろう。
まだ実行ファイルなどの公開は行われていないが、Chromium版Edgeは、Windows 10以外にも、Windows 7/8/8.1、macOS用が作られる予定だという。
これまでのMicrosoft Edgeは、Windows 10専用であり、逆にそれが普及の足かせになっていたのかもしれない。まだ、稼働しているWindows 7などは、IEを使う理由がなければ、ChromeやFirefoxなど、Microsoft以外のWebブラウザが選択されている。
Microsoft自身がIEには今後メジャーバージョンアップがないことを宣言してしまったので、Windows 10より前のWindows OSは、他社製のWebブラウザが利用者を増やす「草刈場」になっていた感がある。そういう意味では、Microsoft Edgeは、IEのユーザーベースを引き継ぐことにも失敗し、Windows 10でもユーザーを伸ばせず、他のWebブラウザに追い付くどころではなかった。
ある意味、Chromium版Edgeは、Edgeプロジェクトの「再起動」版ともいえるだろう。なお、Microsoftは、スマートフォン向けにもMicrosoft Edgeブラウザを提供していることから、おそらくこちらもChromiumベースになると考えられる。
macOSやスマートフォン向けにも展開することを考えると、Chromium版Edgeとは、Chromeとの協調路線というよりも、全面対決的な感じがある。同じエンジンを使う同じ土俵なら「良いものを作る自信がある」との考えなのだろう。
ただ、すでにChromeや他のWebブラウザは、Microsoft Edgeよりも何年も先行して普及しており、Microsoft Edgeの入るスキマがあるかどうかは未知数だ。ChromeやFirefoxのユーザーには、現行のWindows 10でもMicrosoft Edgeに乗り換えるべき強力な理由がない。
もちろん、それぞれのWebブラウザに多少の不満は感じるだろうが、乗り換えるほどでもなく、Microsoft Edgeに強烈な魅力があるわけでもなかった。
また、WebサイトによってはいまだにIEでないとアクセスが正常に行えず、Microsoft Edgeはその代用になることもできなかった。例えば、国内でいえばマイナンバーを利用するようなサイトがこれに当たる。
サポートするWebブラウザを指定するようなサイトでも、Microsoft Edgeに対応するところは少ない。Microsoft Edgeが伸び悩んだ理由には、この辺も影響していると思われる。後発であるため、ユーザーに乗り換えを促す必要があるにもかかわらず、乗り換え理由となるような強力な理由に欠けたのである。Chromium版Edgeは、まだ発展途上であり、今後の開発に期待したいところだ。
■更新履歴
【2019/05/16】現行のMicrosoft EdgeのHTMLエンジンを「WebKit」としておりましたが、「EdgeHTML」の誤りでした。その点を修正しました。
【2019/05/16】初版公開。
Copyright© Digital Advantage Corp. All Rights Reserved.