Google のブロガーが、Apple の WebKit オープンソース レンダリング エンジンをベースにした新しい Web ブラウザ プロジェクト、Google Chrome の概要を説明するイラスト付き文書を公開しました。
この漫画では、Google のエンジニアたちが、安定性、スピード、セキュリティ、シンプルさをプロジェクトの重要な側面として強調している様子が描かれています。このプロジェクトは、新しいブラウザとしてだけでなく、SproutCore フレームワーク上に構築された Apple の MobileMe アプリと同じモデルに従う、新世代の JavaScript 中心の「ウェブ クライアント サーバー」アプリの基盤としても機能し、また Safari 4 に導入される HTML 5 の進歩によって、新しいクラスの高度なウェブ アプリケーションに適したものになります。
Googleの既存製品のほとんどはウェブベースのアプリケーションです。Googleブラウザについては長らく噂されてきましたが、これはMicrosoftがWindows PC上のブラウザプラットフォームへのアクセスをすべて制御するのを防ぐためでもあります。Googleは同様の意図でMozilla Firefoxの開発に資金を提供してきました。
レポートではwww.google.com/chromeというURLがまだ有効ではないとされていますが、GoogleはすでにGearsの開発者ツールをリリースしています。これは、データベースエンジンやローカルストレージ、オフラインアプリケーションのサポートなど、現在のブラウザに欠けている機能を提供することでウェブアプリケーションを改善しようとする取り組みです。Chromeは、まさにGearsのChrome版と言えるでしょう。
ChromeとWebkit
報道によると、新しいChromeブラウザはAppleのWebkit、GoogleのGears、そしてV8と呼ばれる新しいJavaScript仮想マシンを統合し、JavaScriptコード、特に重要なウェブアプリの構築に使用されるコードのパフォーマンスを劇的に向上させるとされています。また、GoogleのChromeチームがWebkitを選択した理由は、Android開発者と同じだと説明されています。つまり、Webkitは高速でシンプル、メモリを効率的に使用し、「新しいブラウザ開発者がコードベースを動作させる方法を習得しやすい」という点です。
しかし、AppleやMozillaがJavaScriptインタープリタの高速化に取り組んでいるようにJavaScriptの解析を高速化するのではなく、GoogleのV8はJavaScriptをネイティブソースコードにコンパイルします。また、期限切れメモリのガベージコレクションの改善や、隠れたクラス遷移に基づく動的な最適化も実現します。GoogleはV8をオープンソースコンポーネントとして提供し、他のブラウザでも採用できるようにする予定です。
これにより、ChromeプロジェクトはAppleの次期Safari 4と同等の立場に立つことになります。Safari 4も同様にJavaScriptの高速化(ただし方法は異なる)とHTML 5の機能強化を推進し、Webアプリがデータベースツール、ローカルストレージオプション、そしてネットワークが利用できない状況でもオフラインで動作できるようにすることを狙っています。一方、GoogleがWebkitレンダリングエンジンを採用することで、反射、グラデーション、新しいマスキング機能といったエフェクトを追加するための新しいCSS機能をAppleがオープンに普及させようとする取り組みも促進されるでしょう。
Chrome ユーザーインターフェース
独自のブラウザフロントエンドを提供することで、Googleは差別化されたユーザーインターフェース機能に注力できます。図解されたレポートでは、タブがウィンドウのインラインではなく上部に表示されているブラウザが示されていますが、これはMacとWindowsの両方のユーザーインターフェースガイドラインに違反しています。Apple、Adobe、Microsoftはいずれも、自社アプリを目立たせるために、既存のガイドラインに同様の例外を設けています。Googleの場合、上部のタブは、タブを切り離して独立したウィンドウを作成する方法をより簡単かつ明確にすることを目的としています。
報告書で挙げられている別の例としては、「オムニボックス」と呼ばれる自動補完機能を備えたブラウザのアドレスバーが挙げられます。これは、ユーザーに意味的に正しい URL の入力を強制するのではなく、以前にアクセスしたページに一致する自然言語の検索語に応答するように設計されています。
図解ガイドで紹介されているもう 1 つのユーザー インターフェースのアイデアは、Chrome のデフォルト ページです。このページには、ユーザーが以前にアクセスしたサイトやブックマークしたサイト、および最近の検索のサムネイルが表示されます (下記)。これは、Opera ブラウザの機能に似ています。
2005年のTigerで導入されたSafariのプライベートブラウジングやInternet Explorer 8の新機能InPrivateモードと同様に、Google Chromeは「シークレット」ウィンドウとタブをサポートします。シークレットモードでは、ブラウザは履歴やCookie、その他のプライベートな痕跡を一切保存しません。また、Safari 4に近々導入される機能と同様に、Chromeはウェブアプリケーションを、通常のブラウザのアドレスバーやツールバーのない独立したデスクトップアプリとして起動できるようになります。
応答性と肥大化をターゲットにする
Googleは、ユーザーインターフェースの視覚的な強化に加え、ブラウザの本質的にシングルスレッドなモデルにも取り組んでいます。このモデルでは、JavaScriptの実行が完了するまでブラウザが待機する間に遅延が発生します。レポートでは、新しいブラウザはブラウザをマルチスレッド化するのではなく、各ブラウザタブを独自のプロセスとして実行するマルチプロセス設計を採用していると説明しています。
この設計では、当初はメモリを多く消費しますが、応答時間が大幅に短縮され、同時に読み込まれるウェブページとアプリケーション間の独立性が向上します。また、タブを閉じると、ブラウザ全体に影響する断片的なメモリ割り当てが発生するのではなく、割り当てられたメモリが即座に解放されます。
文書には、Googleのエンジニアであるブレット・ウィルソン氏の説明が引用されており、「ブラウジング中は常にプロセスの作成と破棄が行われています。大規模なメモリリークが発生しても、おそらくタブを閉じてメモリを取り戻すことになるため、それほど長くは影響しません」と記されている。
Chromeとウェブプラグイン
各タブもセキュリティのためにサンドボックス化されていますが、Adobe Flash や Microsoft Silverlight などの Web プラグインは、既存の Web プラグイン モデルによってブラウザーと同じレベルかそれ以上の権限が自動的に付与されるため、設計上このセキュリティ モデルを尊重しません。
文書には、「プラグイン作成者が少し変更を加えるだけで、プラグインをより低い権限で実行できるようになり、はるかに安全になる」と記されている。また、Chromeは各プラグインをブラウザのタスクマネージャーに表示し、どのプラグインが利用可能なRAMを大量に消費しているかをユーザーが把握できるようにすると述べており、「責任のあるところに責任を負わせる」としており、明らかに肥大化したサードパーティ製プラグインへの批判となっている。
この文書では Flash への言及は慎重に避けられているものの、Flash プレーヤー プラグイン上に構築されるタスクである YouTube 内でビデオを分離するという課題が描かれている。
ポップアップ、マルウェア、バグ
Chrome では、JavaScript によってバックグラウンドまたはユーザーの画面に Web ページの広告がポップアップ表示されるのを許可するのではなく、広告が表示されたブラウザ ウィンドウとタブに JavaScript 通知を添付します。
新しいブラウザは、マルウェアサイトに関する最新情報を取得し、発見されたフィッシング攻撃についてユーザーに迅速に警告します(フィッシング攻撃は通常、1日か数日で削除されます)。Googleはこのシステムを他のブラウザでも利用できるパブリックAPIとして公開する予定です。
この文書では、様々なウェブサイトのバグや問題を追跡するために、Googleが新規ビルドを数万のウェブサイトで数分以内に自動テストできる能力について概説しています。また、Google独自のページランク情報を活用し、人々が実際に頻繁に利用する人気サイトをテスト対象とすることも言及されています。
大きく開いた
Google は、Chrome、Gears、V8 などのコンポーネントをオープンソースとして提供することで、すべての Web ブラウザを同社が現在提供している種類の Web アプリを実行できる最新の標準に引き上げ、誰でも実装できる相互運用可能な標準を使用して Web プラットフォーム上で実行されるさらに高度なアプリの将来の基盤を築くことを目指しています。
Google Chrome は、Firefox、Opera、Safari による、洗練された新世代の Web クライアント サーバー アプリケーションを実行できる、よりオープンで相互運用可能な Web の作成に向けた取り組みを強力に推進します。
コミック本全巻はGoogle Chromeのコミックブックで閲覧可能です