
木曜日のビッグニュースはアップル社の iPhone 4.0 イベントだったかもしれないが、もう一つの重要な発表が注目を浴びなかった。
webkit-dev メーリングリストへの投稿で、Apple のエンジニアである Anders Carlsson 氏と Sam Weinig 氏は WebKit2 を発表し、これを「Apple が長らく取り組んできた新しい WebKit フレームワーク」と説明しました。
WebKit は、Apple が Safari (および Mobile Safari) で使用しているオープンソース エンジンです。また、アプリ内 Web ブラウザ (NetNewsWire など)、Google の Chrome Web ブラウザ、Nokia の Symbian スマートフォン、Palm Pre の webOS を使用する多数の Mac アプリでも使用されています。
WebKit2はWebKitの続編であり、 「WebKit 2: Web Harder」とも言えるでしょう。Appleのエンジニアによる発表内容は以下のとおりです。それを人間が読める形式に翻訳できるよう、できる限り努力します。
WebKit2は、Webコンテンツ(JavaScript、HTML、レイアウトなど)が別のプロセスで実行される分割プロセスモデルをサポートするように根本から設計されています。このモデルはGoogle Chromeが提供するものと似ていますが、大きな違いは、プロセス分割モデルをフレームワークに直接組み込んでおり、他のクライアントでも使用できる点です。
Google Chromeでは、動作が不安定なウェブサイトやコーディングが不適切なウェブサイトによってブラウザがクラッシュした場合、クラッシュするのはそのウェブサイトのあるタブのみです。他のタブは、同じウィンドウであろうと別のウィンドウであろうと、そのまま動き続けます。これがWebKit2が目指すセーフティネットです。しかし、重要な違いは、この「分割プロセスモデル」がフレームワーク自体に組み込まれているため、WebKit2を利用する他のソフトウェア(他のブラウザ、アプリなど)もChrome風のクラッシュ保護を継承するということです。これは以前はGoogle Chromeチームが独自に実装する必要がありました。
WebKit2はオリジナルのWebKitで使用されていたAPIと互換性がないため、新しいフレームワークをダウンロードしてすぐに使い始めることはできません。WebKit2のWikiでは、「WebKit2のテストに適した基本的なウェブブラウザアプリケーションが近い将来リリースされる」と約束されています。正直なところ、私はブラウザのクラッシュを何度も経験しているので、この未来が待ち遠しいです。