MSが提供する新たな“オンラインOS”Windows Liveが魅せる次世代マッシュアップ(3/3 ページ)

» 2006年11月07日 18時00分 公開
[大澤文孝,ITmedia]
前のページへ 1|2|3       

1. 各ガジェットはサンドボックス化されている

 それぞれのガジェットはセキュリティ上の理由からiframeタグで区切られて読み込む。HTTPやHTMLに詳しい人であればすぐに分かるだろうが、この仕組みを持つガジェットは、自身の外にあるガジェットに対して何らかの処理をすることはできない。MSが従来まで展開してきたActiveXなどとは異なり、汎用的な構造を持っているのだ。

 ただし、「インラインガジェット」と呼ばれる種類のガジェットだけは、iframeで区切られていない。ほかのガジェットとやり取り可能な権限を持つものだ。このインラインガジェットは、マイクロソフト内もしくはパートナーによって作られるものであり、認証を受けた一部のガジェットに与えられる。インラインガジェットでは、ページ全体を書き換えたり、ページ全体のCookieにアクセスしたりすることができるのだ。

2. 表示は純粋なHTML言語

 それぞれのガジェットがiframe内に表示するのは、汎用的なHTMLだ。つまり、画像を表示したいのであればimgタグで、リンクはaタグで指定する。HTMLであることから、汎用的な入力フォームなどを表示させることも可能だ。

 そして、CSSを使って装飾を自由に行うこともでき、JavaScriptで、ユーザーのキー入力やマウス操作、タイマーなどのイベントを処理することも可能だ。この辺りは、Webページを作るのと同じ感覚である。

3. .NET Frameworkとは関係がない

 マイクロソフトというと、.NET FrameworkやASP.NETといった技術の融合をすぐに思い浮かべたくなる。しかし、Windowsガジェットでは、現在のところこれらの技術とはまったく関係がなく、JavaScriptを基とした構造になっている。詳しくは次回紹介していくが、ガジェットを公開するにあたって、マイクロソフトのHTTPサーバであるIIS(Internet Information Services)にも依存しないほどだ。

 稼働環境で必要なのは、「ガジェットをダウンロードできる汎用的なHTTPサーバ」だけだ。OSは問わず、Webページを公開可能なレンタルサーバで構わない。このように聞くと、ガジェットがいかに開かれたサービスプラットフォームであるかが分かるだろう。

 ただし、マイクロソフトのアナウンスとして、JavaScriptプログラミングに対し、開発ツールにVisual Studio 2005を使うことが有用だとしている。また、AJAX開発ツールである「ASP.NET AJAX」(コードネーム:Atlas)でもガジェット作成が容易になるはずだ。ちなみにWindows Live自身は、その構築にAtlasのコンポーネントが使われている。

 ここで、2006年11月現在の注意点がある。それは、コードネーム「Atlas」ではLiveガジェットの開発環境が含まれていたものが、先ごろβ版公開されたASP.NET AJAXでは含まれていないということだ(関連記事)。マイクロソフトのコメントによれば、今後含まれる予定があるが、現段階では同社のGUIツールでLiveガジェットを作ることは公式ツールとして存在しないという。このオンライン・ムックPlus「Windows Liveが魅せる次世代マッシュアップ」では、ツールに依存しない汎用的な開発手法をメインにしていく。

4. ネットワークプロキシが提供される

 Windows Liveのフレームワークでは、Liveガジェットが、ほかのサーバと通信するためのネットワークプロキシが提供される。

 これは、外部サーバにあるHTMLデータやRSSフィードを読み取って加工して表示するとか、Webサービスを呼び出して、その結果を表示するといったLiveガジェット作成ができることを意味する。

 この機能は、AJAXで使われるXMLHttpRequestオブジェクトと似ているが、大きな違いがある。それはネットワークプロキシであるため、「どのホストに対しても接続できる」という点だ。つまりLiveガジェットでは、クロスドメインの制限はなく、Liveガジェットがダウンロードされたサイト以外に対しても通信できる。

5. ユーザー設定情報の保存機能が提供される

 Windows Liveでは、それぞれのLiveガジェットごとに、データの格納域が提供される。

 これにより、各ガジェットは、ユーザーの環境設定値や、ユーザーが入力したデータなどを保持することができるのだ。例えば、ToDoリストを保存するLiveガジェットを作りたいといったことも実現できる。ユーザー設定情報は、Windows Live IDに結びつけられている。つまり、ユーザーがどのコンピュータからログインしても、その情報を読み書きできるわけだ。

 ここまでの説明からわかるように、Windows Liveとは、いわばJavaScriptで書かれたOSであり、Liveガジェットは、JavaScriptで書かれたアプリケーションだと言えるだろう。

 HTML+CSS+JavaScriptという動作環境から見れば、Liveガジェットは、Ajaxアプリケーションと非常によく似ている。LiveガジェットとAjaxアプリケーションとで異なる部分は、Windows Liveによって読み込まれるため、「Windows Liveの規則に従ったオブジェクトの構成である必要性」という点だけだ。

 そのため、JavaScriptでのプログラミング経験があれば、その基本的なルールさえ理解するだけで、すぐにLiveガジェットを作ることができるのだ。次回は、Liveガジェットを動作させるための環境作りと、Liveガジェットを作る際のルールについて解説していこう。

 なお、記事の最初でも触れたように、オンライン・ムックPlus「Windows Liveが魅せる次世代マッシュアップ」では、“Liveガジェットのアイデア募集”を行っている。読者から寄せられたアイデアは、本特集上で優秀作やアイデア傾向などを紹介していく予定だ(募集は2006年3月まで)。

前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ