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」をよく利用しており、その内容に概ね満足している。
マイクロソフトが「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回松本清張賞応募作『バックドア』が最終候補となり、改題した『
裏切りのプログラム ハッカー探偵 鹿敷堂桂馬』にて文藝春秋から小説家デビュー。近著は新潮社『
レトロゲームファクトリー』。