Sponsored Contents

blinkの最新記事

Image credit:

Google、Chrome用の新レンダリングエンジン Blink を開発。WebKit を元にアーキテクチャ刷新

Ittousai , @Ittousai_ej
2013年4月4日, 午後12:29 in Blink
342 シェア
147
1
42
38
114

注目記事

人気記事



Google が Chromium ブラウザのための新レンダリングエンジン Blink の開発を表明しました。オープンソースの開発版にあたる Chromium と、その製品版である Chrome ブラウザは、中核部分に Safari など他社製ブラウザと共通のレンダリングエンジン WebKit を採用してきました。新たなオープンソースプロジェクトとして開発が始まった Blink は WebKit をベースとしつつ、マルチプロセス前提の並列動作など新しいイノベーションを導入して大幅な性能向上を目指します。




WebKit のレガシーから自由になったことで導入できる改良としては、ページ内の iframe を別プロセス化して別のサンドボックスで走らせる out-of-process iframes、旧 Mac WebKit とのAPI互換性維持のため複雑化していたネットワークコードをシンプルに書きなおして高速化、さらにブラウザの各要素やレンダリングのマルチプロセス化を進めて高速化など。



Google が独自のレンダリングエンジンを開発する、と聞いてまずありそうな反応は:

1. WebKit ベースならわざわざフォークさせず、オープンソースのWebKit本流に還元しろ。
2. いまさらまた互換性テスト対象を増やす気か (せっかくOperaも陥落して WebKit ばかりになってきたのに)。

あたりがありそうです。Google では容易な決断ではなかったがそうする必要があったとして、Chromium Blog の Blink 発表記事や プロジェクトページのFAQで延々と意義を説いています。ざっとまとめると、


1a. WebKit には制約があるが、他社も使っているため抜本的な改良ができない。

たとえばChromeは、ほかのブラウザと違うマルチプロセスアーキテクチャを採用する。このため、Chromium にとっても WebKit にとっても、複数アーキテクチャに対応するための作業が増えて進歩の足かせになっていた。またWebKit をベースにしつつ仕切りなおすことで、パフォーマンス向上のためのさまざまな手法を導入できる。


2a. 守るべきはウェブ標準であって、ひとつの実装ではない。

Chromeにとって互換性は重要。Chromium チームはこれまでも、互換性と相互運用性を維持するために膨大な努力をしてきた。姿勢は変わらず、今後も複数のブラウザベンダと協力して互換性を維持し改善してゆく。

また、WebKit はすでに単一ターゲットではなく、WebKit採用ブラウザのあいだでも標準サポートに違いがあるため、WebKit を採用すれば互換というわけではない。

モノカルチャーは短期的には開発者の生産性を上げるように見えるかもしれないが、長期的には停滞を避けられない。複数のレンダリングエンジンが存在することは、ちょうど複数のブラウザが競争するように、結局はオープンなウェブのエコシステム全体にとって良いことだと信じる。


Blinkプロジェクトのトップにどーんと掲げられたミッションステートメントは、「To improve the open web through technical innovation and good citizenship」。最後のシチズンシップ部分には非常に気を使っているらしく、非互換の独自機能をどんどん追加するのでは?という懸念を払拭するため、新機能の追加にあたって透明性と責任、互換性を保つための独自ガイドライン(原則的には、新機能はオープンスタンダードに従うかたちで実装する) まで立てています。


Google ではデスクトップとモバイルの Chromeブラウザに Blink を採用する予定。少なくとも当初は、ブラウザの内部的処理のレベルで新技術を投入して高速化を図るため、Chromeと別のブラウザだと機能が違う、同じページやアプリで見え方や挙動が違う、という場合が増えることにはならないはずです。(速さが違ったり、同じバグが再現しないといった違いはあるはずですが)。

なお先日、独自のPrestoエンジンを捨てて WebKit への移行を表明した Opera は、Google の発表にあわせて Blink の導入を表明しています。

342 シェア
147
1
42
38
114

Sponsored Contents