HTML5への移行が進む可能性が高いことは、アプリ開発者の動向からもうかがえる。iOSとAndroidという二つのモバイルOSが支配的な状況において、アプリ開発者は両方のモバイルOSへの対応をなるべく効率的に行う必要に迫られていた。

 そこでアプリ開発者が選んだのが、アプリの中身をHTML5で記述する方法だった。例えばAndroidの場合、「WebView」と呼ばれるクラスを用いることで、アプリの内部でHTMLレンダリング・エンジンやJavaScriptエンジンを利用できる。パッケージだけはそれぞれのOSに合わせたアプリの形にして、HTML5で記述した内部のロジックは共用する方法が広く用いられている。

 ただし、HTML5といえどもマルチプラットフォーム化には限界がある。例えばハードウエア制御用のAPIにはOSごとの差があるからだ。たとえW3C(World Wide Web Consortium)での標準化対象となった部分は共通でも、その他の部分はそれぞれのモバイルOSで独自になることがほとんどだ(表1)。OSごとに異なる呼び出し方を使い分けなければならない。また、あるOSは対応済みだが他のOSでは未対応なハードウエアもあるだろう。パソコンのWebアプリのように、まずは特殊なハードウエアの制御を行わない用途がHTML5アプリの中心になりそうだ。

表1 W3Cが策定する「Device API」の概要と策定状況
[画像のクリックで拡大表示]

 HTML5アプリが中心になる未来を見据え、Webブラウザーの開発競争も激しくなっている(図6)。

図6 Webブラウザーの開発競争が激化
2013年4月に、新しいHTMLレンダリング・エンジンの開発に関する発表が相次いだ。Google社は「WebKit」プロジェクトから独立した「Blink」プロジェクトを立ち上げ、MozillaはSamsung社と新エンジン「Servo」を開発することを表明した。
[画像のクリックで拡大表示]

 Google社は、ChromeおよびChrome OSの基となるオープンソースのWebブラウザー「Chromium」のレンダリング・エンジンを、「Blink」として「WebKit」から分岐(フォーク)させることを2013年4月に発表した。Google社はAndroidの標準ブラウザーやChromiumでWebKitを使ってきた。同社によれば、Chromeはマルチプロセス・アーキテクチャを採用している点がApple社のSafariなどの他のブラウザーと異なるため、開発作業が煩雑になっていたという。

 Blinkの分岐により、Apple社、Google社、Microsoft社、そしてMozillaという主要なWebブラウザーの開発母体すべてが独自のレンダリング・エンジンを使う状況になった。HTMLレンダリング・エンジンの性能や機能の重要性が高まっていることの表れだ。

 Mozilla FoundationとSamsung社は同じ日に、マルチコア・プロセサ向けのレンダリング・エンジン「Servo」をARM上のAndroidに移植するために協力すると発表した。このレンダリング・エンジンが次世代のFirefox OSに使われる可能性もある。