MSがGoogleに白旗!? マイクロソフトが「Microsoft Edge」を「Chromium」ベースに。令和のWebブラウザ事情(HARBOR BUSINESS Online)




[ 元の記事 ]
出典元: StartupStockPhotos(Pixabay)

◆マイクロソフトが「Microsoft Edge」を「Chromium」ベースに

 4月の上旬にマイクロソフトが、「Chromium」をベースにした「Microsoft Edge」のプレビュー版を公開した。

 Web業界では大きな話題だったが、そうでない業界の人には、このニュースはいまいちピンと来なかったと思う。そこで、令和のWebブラウザ事情として、「Microsoft Edge」が「Chromium」ベースになるということは、どういうことなのかを解説する。

◆Chromium とは何なのか

 まず、「Chromium」が何なのか知らない人の方が多いだろう。

 普段、私たちが利用しているWebブラウザは、複数の部品が統合されたソフトウェアだ。ブックマークなどの機能は、Webブラウザの外側を覆う”ガワ”の部分になる。それとは別に、HTMLファイルを適切なレイアウトで表示する「HTMLレンダリングエンジン」、JavaScriptを実行する「JavaScript実行エンジン」がある。それらが合わさって、Webブラウザはひとつのソフトウェアになっている。

「Chromium」は、オープンソースのWebブラウザだ。HTMLレンダリングエンジンは「Blink」で、JavaScript実行エンジンは「V8」になる。「Google Chrome」は、この「Chromium」を元にして開発されている。逆に言うならば、「Google Chrome」からGoogle固有の機能を抜いたものが「Chromium」と呼べる。実際に「Google Chrome」と「Chromium」は複雑に絡み合っている。

「Microsoft Edge」が「Chromium」ベースになるということは、その中身が「Google Chrome」とほぼ同じになるということだ。このことは、マイクロソフトがWebブラウザを独自開発することに、白旗をあげたことを意味する。

 往時には、「Internet Explorer」で覇権を取っていたマイクロソフトが、Googleに屈服したということだ。そのため、Web業界では大きな注目を浴びた。

◆様々なWebブラウザの中身

 Webブラウザの中身は、現状3つの大きな潮流がある。

 1つ目は「Mozilla FireFox」の潮流だ。HTMLレンダリングエンジンは「Gecko」、JavaScript実行エンジンは「SpiderMonkey」。「FireFox」は、後継のHTMLレンダリングエンジン「Servo」を開発しており、今後はこちらに移行する。

 2つ目は「Internet Explorer」の潮流だ。HTMLレンダリングエンジンは「Trident」、JavaScript実行エンジンは「Chakra」。マイクロソフトはIEの後継として「Edge」を送り出しており、こちらではHTMLレンダリングエンジンは「EdgeHTML」、JavaScript実行エンジンは「ChakraCore」となっている。「Chromium」への移行が完了すれば、中身は「Blink」「V8」のセットになる。

 3つ目は「WebKit」の潮流である。前身は「KHTML」。「WebKit」はアップルが中心になって開発され、「Safari」に用いられている。オープンソースのHTMLレンダリングエンジンで、「KHTML」当時のJavaScript実行エンジンは「KJS」、「WebKit」時のJavaScript実行エンジンは「JavaScriptCore」となっている。

 「WebKit」は、初期の「Google Chrome」にも採用されていた。ただし、JavaScript実行エンジンは、Google謹製の「V8」となっている。その後、より自社に有利な開発を目指して、Googleは「WebKit」から派生させて「Blink」を作った。

「Microsoft Edge」が「Chromium」ベースになることで、2つ目の潮流が絶えることになる。その結果、「WebKit」系以外のWebブラウザの潮流は「Mozilla FireFox」のみになる。

「Mozilla FireFox」は、シェア的に厳しい戦いを続けており、この流れが途絶えると、世の中の主要なWebブラウザの系統は、「WebKit」系のみになってしまう。

◆HTMLレンダリングエンジンは様々な場所で使われている

 さて、こうしたHTMLレンダリングエンジンだが、Webブラウザだけで使われているわけではない。

 たとえばメール閲覧ソフトの表示部分には、HTMLレンダリングエンジンが利用されている。他にもWindowsのヘルプなどでも使用されている。画像を含んだリッチなテキストを表示するのに、HTMLレンダリングエンジンはとても便利だからだ。

 また、HTMLレンダリングエンジンは、プログラムの部品になっており、それらを利用して独自のソフトを開発することができる。

 Windowsでは、IEコンポーネントとして「Trident」が利用できる。一時期は、この機能を利用して、様々なIEコンポーネントブラウザが作られた。「Donut」「Lunascape」「Moon Browser」「Sleipnir」などの名前を聞いたことがあるかもしれない。こうしたWebブラウザは、既存のHTMLレンダリングエンジンを利用して開発されていた。

 筆者も、オンラインソフトを作る時に、IEコンポーネントを利用した経験がある。

 WebKitを利用したソフトウェア開発は、「Electron」や「NW.js」が主流になっている。これらの実行環境は「WebKit」と「Node.js」を利用している。

「Node.js」は、GoogleのJavaScript実行エンジン「V8」を元にした、サーバーサイドJavaScript実行環境だ。「Node.js」は、ローカルのJavaScript実行環境としても広く利用されている。この「Node.js」と「WebKit」を合体させて、GUI環境を作ったのが「Electron」や「NW.js」だ。

「Electron」や「NW.js」は、Web系企業がローカルアプリを作る際によく使われる。また、プログラミング開発環境として利用されることも多い。たとえば「Electron」では、「Skype」「GitHub Desktop」「Visual Studio Code」「Slack」「Discord」などのローカルアプリが作られている。

 既にWebサービスを持っており、そのローカル版を開発したい場合に選ぶと、少ない工数で開発できる。筆者も「Electron」や「NW.js」をよく利用しており、その内容に概ね満足している。

◆実は結構大きな意味を持つMSの転向

 マイクロソフトが「Microsoft Edge」を「Chromium」ベースに変えるということは、Webブラウザの潮流が1本減ることを意味する。このままいけば、あるいは10年経たずに潮流は「WebKit」系に統合される可能性がある。

 そうなれば、大きな脆弱性が見つかった際に、代替のWebブラウザがないという状況が起こりうる。

 生物環境と同じで、多様性が失われれば突然死が起きる可能性がある。ソフトウェアにはバグが付き物だ。そして、セキュリティの穴を完全に塞ぐことは難しい。

 Webとの接点になるWebブラウザだが、その多様性は失われつつある。代替環境がなくならないように、「Mozilla FireFox」の動向を注視したいと思う。

◆シリーズ連載:ゲーム開発者が見たギークニュース

<文/柳井政和 photo by Ken Yamaguchi via flickr(CC BY-SA 2.0)>

やない まさかず。クロノス・クラウン合同会社の代表社員。ゲームやアプリの開発、プログラミング系技術書や記事、マンガの執筆をおこなう。2001年オンラインソフト大賞に入賞した『めもりーくりーなー』は、累計500万ダウンロード以上。2016年、第23回松本清張賞応募作『バックドア』が最終候補となり、改題した『裏切りのプログラム ハッカー探偵 鹿敷堂桂馬』にて文藝春秋から小説家デビュー。近著は新潮社『レトロゲームファクトリー』。