米グーグルは2013年4月3日、新しいWebレンダリング(描画)エンジン「Blink」の開発を始めると発表した。BlinkはオープンソースのWebレンダリングエンジン「WebKit」の派生品で、その置き換えを狙ったものである。これまでWebKitを採用してきたAndroidやChromeブラウザーでは、順次Blinkへの移行を進めていく計画という。

 「WebKit」は米アップルが開発を主導してきたオープンソースのWebレンダリングエンジンである。元々はMac OS XのWebブラウザー「Safari」で使用するために開発されたものである。当初はインタフェース部分がオープンになっていなかったが、2005年に完全にオープンソース化した。その後、iOSのWebコンポーネントにも採用され、Mac OS XやiOS搭載製品の普及によって利用者が次第に増えていった。

 普及という意味で決定的だったのが、2008年にリリースされたAndroidとChromeブラウザーが採用したこと。これによって利用者が一気に増加した。特にモバイルOSにおいては9割以上がWebKit採用ソフトウエアを使用するという事実上の独占状態にある。

 しかし、この状況は大きく変わると予想される。Chromeの利用率の高さや、Android端末の普及台数を考えると、今後はBlinkが大きなシェアを占めるようになるだろう。

分岐の理由はWebKitの複雑化

 そもそも、グーグルがBlinkの新規開発と移行を決めた理由は何だったのだろうか。同社ソフトウエアエンジニアのアダム・バース氏は、理由の一つに「WebKitの複雑化」を挙げる。

 WebKitはマルチプラットフォーム対応を進める過程で図1のような複雑な構成になっていた。特にインタフェースとなる「WebKit API」部分は、対象プラットフォームに密着した実装となっていて、コードやビルドシステムの共通化が難しかった。ビルドシステムについては、WebKit全体で8種類も使われていたという。

図1●マルチプラットフォーム対応などによって複雑化していた「WebKit」
図1●マルチプラットフォーム対応などによって複雑化していた「WebKit」
特にインタフェースとなる「WebKit API」部分は、対象プラットフォームに密着した実装となっていて、コードやビルドシステムの共通化が難しかった。ビルドシステムについては、WebKit全体で8種類も使われていたという。
[画像のクリックで拡大表示]

 2010年に追加された「WebKit2 API」ではコードの共通化が進んだが、旧APIを置き換えるのではなく併存することになったため、結果的にこれも複雑化の要因となった。