Google Gearsはオフラインで動作しなくてはならないため,サーバー側の処理には頼れません。そこで,処理動作をローカルのブラウザだけで完結できるようにするために,処理言語としてJava Scriptを使用します。Java ScriptはローカルのPC側に処理エンジンがあり,オフラインであっても動作します。
このシステム全体をGoogleはBSDライセンスとして公開すると宣言しました。私たちは「このシステムはGoogle Gearsを使っている。著作権はGoogleにある」と著作権明記さえすれば,自由に使用できます。業務か趣味かを問わず,Webアプリケーションを作成しているプログラマにとって,Google Gearsは何かしらの意識革命を引き起こしえる存在に感じられます。つまりGoogle Gearsはそれ自体がGoogleマップやYoutubeのように直接ユーザーに何か便利なサービスを与えるというサービスではなく,ユーザー向けにWebアプリケーションを作成しているプログラマに対しての技術サービスだというわけです。
公式ページには,とても少ない説明の中にGoogle Gearsの特徴3点が紹介されています。対訳をつけてみます。
この解説は今までの説明で述べてきたものと変わりありません。特に詳説は必要ないでしょう。この三つの概念が以下のように,それぞれAPIグループとして実装されています。
5月31日に発表された「Google Gears」は、Webアプリケーションの新しい可能性を予感させる技術として注目を集め、これを利用したアプリケーションがすでに多数登場している。Google Gearsの各機能はJavaScriptからアクセス可能なため、Ajaxアプリケーションにも容易に取り込むことができる。
Javaアプリケーション向けAjaxフレームワーク「jMaki」の開発者であるGreg Murray氏は、jMakiに最近追加された拡張メカニズムを利用することでjMakiコンポーネントとGoogle Gearsを容易にインテグレーションすることができると述べている。本稿ではその具体的な方法について紹介したい。
オフライン機能はGoogle Gearsを利用して構築。Google Gearsは、Googleが2007年5月に始めたオープンソースプロジェクトだ。オフライン機能を利用するにはブラウザープラグインのインストールが必要。インストール完了後、「Go Offline」というオプションがナビゲーションバーに表示される。同機能は、Internet Explorer v.6以降、そしてFirefox(マックを含む) v1.5以降に対応。
現時点では、読み取り専用機能をオフラインで提供。書き込み専用機能は3〜4週間以内にリリース予定だ、と同社は言う。また、今後数週間内に同社の表計算、プレゼンテーション、その他のアプリケーションにもオフライン機能を提供し始める予定。
Googleがオフライン機能を提供し始めるより早く、Google Docs & Spreadsheetsと真っ向から競合するZohoが同機能の提供にこぎ着けた。ZohoがGoogleのソフトウェアを利用している事実を考えると、何となく皮肉な話にも思える。
もともとWebアプリケーションとして提供されているサービスだが、2007年9月7日(スイス時間)にはオフライン機能を追加したPasspack Offlineが発表された。Passpack OfflineはGoogle Gears(当時の名称。現在ではGearsが正式名称)を活用して開発されたオフライン機能。現在ではFirefoxおよびIEでの動作がサポートされており、Operaも近いうちにサポートするとしている。
Passpack DesktopはPasspack Offlineとはことなり、スタンドアローンアプリケーションとして動作するように設計されている。つまりPasspackのアカウントを経由してWebサービスと同期することもできるし、完全に独立したパスワード管理アプリケーションとしても活用できる。これまで暗号化されているとはいえパスワードをオンラインで保持することに抵抗を感じていたユーザには朗報といえる。
Silverlight 2の大きな特徴の一つは,.NET Frameworkの中核にあるCLR(Common Language Runtime)を搭載したことです。CLRの搭載により,C#,Visual Basic(VB)など .NET Framework向けの言語や,PythonやRubyといった動的言語でWebクライアントのプログラムを書けるようになります*4。
Webクライアントのプログラミング言語としては,これまでJavaScriptが主に使われてきました。AJAX(Asynchronous JavaScript+XML)はJavaScriptをベースにしたテクニックですし,Silverlight 1の開発言語もJavaScriptでした。しかし,JavaScriptには,開発や保守が難しいという問題があります。
一方,.NET Framework(と,その上で動くマネージド・コード)は,すでにWebサーバー・アプリケーションやWindowsアプリケーションのプラットフォームとして広く使われており,C#やVBの開発効率の高さ,保守のしやすさは実証されています。Microsoftはプログラマ向けにVisual Studio 2008,デザイナ向けにExpression Studioというツールを提供しており,開発を支援する環境も整っています。
CLRの搭載は,すでにSilverlight 1.1 Alphaで実現されていましたが*5,Silverlight 2 Beta 1では,その上に搭載されるクラスライブラリなど,アプリケーション・プラットフォームとしての姿が明らかになりました。Silverlight 2の主な特徴を見ていきましょう。