日本初のOpenSocial対応SNSが登場!
今回はガジェットの基本について解説をしていきますが,その前に非常に嬉しいニュースが先週ありましたので,まずはお伝えしたいと思います。
それは,日本初のOpenSocial対応SNSの登場です。3月26日,gooホーム (NTTレゾナント)がOpenSocialガジェット開発のための環境「gooホームサンドボックス」を一般向けに公開しました(図1)。今までOpenSocialガジェットを開発し公開するには,海外のSNSを利用せざるを得ない状況でしたが,gooホームサンドボックスを利用することによって,日本語をメインとしたガジェットの開発を行うことができるようになったわけです。
gooホームのOpenSocial正式対応に向けて,サンドボックスを利用し,多くの利用者を獲得可能な魅力のあるガジェット開発にチャレンジしてみてください。もちろん本連載の内容が力になることでしょう。
XMLによるガジェットの記述
それでは早速,ガジェットを開発するための基本について解説します。Webブラウザ上でSNSの画面に埋め込まれて動作するOpenSocialのガジェットは,その処理のほとんどをJavaScriptで記述することになります。
しかし,ガジェットの名前や利用する機能の宣言,具体的なコンテンツの記述などを含め,ガジェットはXMLファイルとして作成します。リスト1は,最もシンプルなガジェットの例です。単に「Hello, world!」という文字列を表示するガジェットとなります(図2が実行結果になります)。
リスト1 最もシンプルなガジェットのXML
<?xml version="1.0" encoding="UTF-8"?>
<Module>
<ModulePrefs
title="Simple app"
description="This is a simple application.">
<Require feature="opensocial-0.8" />
</ModulePrefs>
<Content><![CDATA[
Hello, world!
]]></Content>
</Module>
OpenSocialでは,いくつかのタグが予め決められています。表1は最もよく使われるタグの一覧です。定義されているタグの個数は,表1に加えていくつかしかありません。開発者は,ContentタグにHTMLやJavaScriptなどを記述することが中心的な作業となります。
表1 よく使われるタグの一覧
| タグ名 | 説明 |
|---|---|
| Module | ルートになるタグです。 |
| ModulePrefs | ガジェットの情報をいくつかの属性を使って記述します。 |
| Require | 利用する機能を宣言するために使われます。 |
| UserPref | ユーザ設定項目を定義するために記述されます。 |
| Content | 具体的なコンテンツ(HTMLやJavaScriptなど)を記述します。 |

