BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Google が Chrome 2.0 と Wave で推し進めるウェブプラットフォーム

Google が Chrome 2.0 と Wave で推し進めるウェブプラットフォーム

原文(投稿日:2009/5/29)へのリンク

Google は “世界の情報を体系付け、どこからもアクセスし利用できるようにする”というミッションを実現する新たな2つのツールを発表した。一つは高度なクライアントサイドアプリケーションの普及促進を目的とする Chrome ブラウザのバージョン2.0で、もう一つは Wave である。 Wave は Web 上でのコミュニケーションとコラボレーションの新しい環境である。

2008年9月1日にGoogle はオープンソースの新しいブラウザである Google Chrome を発表した。Web でのメジャープレイヤである Google による新しいウェブブラウザの導入は多くの注目や分析、予言を生み出した。

Google はフィードバックや新機能のリクエストの収集を開始し、それらのいくつかは3月にリリースされた最初のベータバージョンで実現されている。

数日前に発表されたバージョン2.0では, Google は300以上のバグを修正したと報告し、さらに多数の改善を追加した:

すぐに確認できる改善点の幾つかを挙げます

新しいタブページ: ユーザから最も多く寄せられた要望は「新しいタブ」ページからサムネイルを削除する機能でした。これからは「よくアクセスするページ」から恥ずかしいゴシップブログを隠すことが出来るようになります。

フルスクリーンモード: Google Chrome でプレゼンテーションを行ったり大きなサイズのビデオを見る時、コンテンツのすみからすみまで見たいと思うでしょう。これからはF11をクリックするかツールメニューのオプションを選ぶことによってタイトルバーやブラウザウィンドウ以外の部分を隠すことが出来るようになります。

フォームオートフィル: 何度もフォームに情報を入力することは退屈な行為です。フォームオートフィルは同じフォームに以前入力した情報を自動的に表示しフォームの入力を助けてくれます。入力情報をクリアしたいと思ったときはいつでもツールメニューから簡単に行うことが出来ます。

これら改善点に加え、ユーザがハイスケーラブルで高度な JavaScript アプリケーションを実行できるようなプラットフォームを Chrome は提供しようとしている。ここで V8 JavaScript エンジンが重要な役割を演じている

V8 JavaScript エンジンはスケーラビリティを中心に設計されています。JavaScript の世界ではスケーラビリティとは何を意味していて、なぜ昨今のウェブアプリケーションにとって重要なポイントなのでしょうか?

ウェブアプリケーションはより複雑なものになってきています。複雑さが増すにつれ JavaScript のコードとオブジェクトはますます増加してきています。オブジェクトの数が増加するにつれ JavaScript エンジンのメモリー管理システムへの負荷はさらに増加しています。メモリー管理システムはオブジェクトの割り当てや再利用をより効率的に扱えるようにスケールされなければいけません。エンジンが大きなオブジェクトヒープを扱えるようにスケールされない場合、大きなウェブアプリケーションを実行するとパフォーマンスが劣化してしまいます。

JavaScript のスケーラビリティが Google の検討課題でとても重要である理由の一つは、数日前に発表された新しいコミュニケーションとコラボレーションのプラットフォームである Google Wave

"Wave" は会話やドキュメントと同じもので、リッチテキストや写真、ビデオ、地図などを用いてコミュニケーションしたり仕事をしたりできるようになります。

どのように動作しているのでしょう。Google Wave 上ではあなたは Wave を作成し、それに人々を追加します。あなたの Wave 上のすべての人はリッチテキストや写真、ガジェット、さらにはウェブの他のソースからのフィードですら利用することができます。Wave に返信を挿入したり、Wave を直接編集したりできます。それらは(他の人と)同時に実行することが可能なリッチテキスト編集機能で、あなたと一緒にコラボレーションしている人が Wave 上でタイピングしている事をほとんどすぐにあなたのスクリーンで見ることができる機能です。あなたは"プレイバック"を利用して Wave を巻き戻したりして、それがどのように編集されたかを確認することができます。

アーキテクトの視点から見ると、Google Wave には3つのレイヤがある。プロダクト、プラットフォーム、そしてプロトコルだ

  • Google Wave プロダクト(開発者プレビューで利用可能)は Wave にアクセスし編集することが可能になるウェブアプリケーションです。HTML 5 アプリケーションで、Google Web Toolkit 上で構築されています。リッチテキストエディタやデスクトップドラッグアンドドロップのような機能を持っています。(例えば、写真を Wave へ直接ドラッグすることができるようになります)
  • Google Wave は豊富なオープンAPIを持ったプラットフォームと考えることもできます。これにより開発者は Wave を他のウェブサービスに貼り付けたり、 Wave 内で動作するような新しい拡張を構築することができます。
  • Google Wave プロトコルは Wave を保存する基本的なフォーマットであり、Wave を共有する手段です。さらに"ライブ"同時並行実行制御を含んでいます。これにより編集内容がユーザやサービスをに対して即座に反映されるようになります。プロトコルはオープン Federation 向けに設計されています。そのため例えば Wave サービス同士や Google Wave サービスを相互に同時実行することができます。プロトコルの採用を促進するために我々は Google Wave のコードをオープンソースにする予定です。

開発者はGoogle Wave APIに関してはGoogle Wave Developer ブログでより多くの情報を入手することができる。また、Google Wave Federation Protocolに関して学びたい場合はGoogle Code blogをチェックすると良い。執筆の時点ではJavaクライアントライブラリのみ利用することができるが、Python 向けライブラリも計画されている

常にオープンであり“悪でない”という Google の理念に沿ったこの新しいプラットフォームのキーとなる要素の一つは、SMTPサーバを運営するように誰もが Wave プロバイダになることができ、Wave サービスを構築することができ、相互運用することができるように設計されていることである

我々はこのプラットフォームを広めたいと考えています。そのために我々は Wave プロバイダー間で Wave を共有する基本的なネットワークプロトコルである Google Wave Federation Protocol の最初のドラフトをまとめました。

そう、Wave プロバイダなんです。誰でも Wave サーバを構築し、相互運用し、SMTPサーバを運営するようにできるのです。我々の目標は情報をどのように共有するかを改善し続けるということであり、Wave プロトコルは広くコミュニティに対してオープンです。

これはまさに始まりです。潜在的な Wave プロバイダに始めてもらうための我々の計画はオープンソースで製品品質な Google Wave クライアントとサーバのリファレンス実装をリリースすることです。さらには、ユーザが Wave にアクセスするようになる前までには オープンなフェデレーションエンドポイントを提供する計画です。

JavaScriptオープンウェブウェブブラウザー、そしてGoogleに関しての情報は InfoQ で入手することができる。

この記事に星をつける

おすすめ度
スタイル

BT