WebKitの今
WebKitというものをご存じでしょうか。
ウェブ関連の業界の人にとってはもう常識と言いますか、多くのブラウザで採用されていた主にHTMLやスタイルシート、JavaScriptなどを解釈してレンダリングするためのオープンソースのレンダリングエンジン(プログラム)です。
まぁ個人的にはソースを覗いたことくらいしかないのですが……。
■The WebKit Open Source Project
アップルが中心になってGoogleなども参加して進化。モバイルでは9割のシェアを取るほどになりましたが、オープンソースであるがためのバージョン違いによる動作の差異や不具合の未修正、各社間の政治的な妨害などを危惧したため、各社向けにブランチされ、そのオープンソースとしての意義はカオス状態です。例えば、こんなにあるんです。
- WebKit for Mac OS (WebCore)
- WebKit for Windows (WebCore)
- WebKit for Android (WebCore)
- WebKit for Chromium (WebCore、JavaScriptCore)
- for Gtk+、for QTなどなど
Gooela曰く、「この複雑になった状態がウェブの開発ペースを鈍化させている」とアップルを非難しており、お互い技術を浸透させず険悪な状態になっているようです。
さらに、近年になってマルチプロセッサが主流となりその恩恵に乗っかることが出来ない古い仕様のWebKitに対して、Googleは独自に高速化・マルチプロセッサ対応を行い、優位になっていました。IE(やSafari)がメインだった頃、鳴り物入りで登場したGoogle Chromeのシェア拡大が物語っています。(現在、シェアトップで市場の1/3以上を占める、2位IE、3位Firefox)
一方で、WebKitのご本尊であるアップルは黙っているわけもなく、マルチプロセッサ対応の「WebKit2(JavaScriptCore)」を公開しました。2010年のことです。ただ、WebKitとの互換性がなく、WebKitとWebKit2を混在させる必要があったりなど、よりカオス化を勧めてしまったようです。
そして今年の4月、GoogleはWebKitベースのレンダリングエンジンを「Blink」と改め、大幅なソースコードの整理、すなわちメモリ効率化や高速化などを行うことを目的に開発が進められています。
現在、Google Chromeはバージョン27ですが、Blink搭載Google Chromeのリリースは間近で、バージョン28以降で搭載されるんだそうです。Chromeの次はAndroidでも採用される見込み。
■WebKitの独占状態の是非 | TechCrunch Japan
■グーグルがWeb描画エンジンを新開発、WebKit派生の「Blink」をChromeへ:ITpro
ちなみに、FirefoxはGeckoというNetscape時代から進化してきたレンダリングエンジンを採用しています。まぁ、採用というよりかMozilla Foundation自身が開発しています。かつてWebKitへの移行も検討されたそうですが、「独自性が失われることはウェブの進化を停める」として独自路線を突き進んでいます。
Operaはどうか。
これまで独自のレンダリングエンジンを搭載していましたが、WebKitを搭載する事を表明、