(余談:俺をTwitterでFollowしてる人は、ここ数日のTimeLineからこのエントリに至るまでの俺の「思考の流れ」もとい「つぶやきの流れ」「ブックマークの流れ」が見えるはず。そこから俺の思考を再構築できる人ならこのエントリは無意味)
Mixiだけでなく、DeNAのモバゲーもOpenSocial対応を発表しましたねえ。
ここしばらくはOpenSocial周りがアツくなってきそうな感じなので、「とにかく軽薄に何にでも飛びつく」ことをモットーとしている当BlogではSinatraの紹介もそこそこに、OpenSocialにも絡みついていこうかと思います。
OpenSocialについて適当な説明をしておくと、「ソーシャルサイトでユーザアプリを作るための公開APIの仕様」です。
あくまで仕様なので、OpenSocialという名のプログラムがあったりするわけではありません。要は、「この関数を使うと友達のリストがこういう形式で返ってくる」というような決まりごとがOpenSocialで、その関数をどう実装するかはOpenSocialの実装者の任意。実装がどうであれユーザ(作り手)は「ともかくこの関数を呼べばこうなる」ということだけは分かっているので、中の人が何をしているかは気にせず、OpenSocial対応のソーシャルサイトで共通に利用可能なソーシャルアプリを作成出来るわけです。(この説明、合ってるんだろうか?)
といっても皆が皆、一からOpenSocialの実装を行うのも面倒なのでApacheのShindigという参照実装があったりもします。けっこう多くのサイトで採用されているもよう。
http://incubator.apache.org/shindig/
でまあ、どうやってOpenSocialを利用したアプリを開発するかってことなんですが。
一番手軽なのが、既にOpenSocialに対応しているiGoogle上でゴニョゴニョする方法なんだけども
(参照)http://postal-search-apis-and-solutions.blogspot.com/
この方法だと特に用意なしでOpenSocialを利用したiGoogleガジェットをとりあえず作成できるんだけども、流石にiGoogle上のエディタで本格的なアプリを作ろうという人はいないと思う。
さらに言うと、OpenSocialは「ソーシャルアプリ用API」なので、基本的にはソーシャルサイト上で動くもの。なので、「友達リストを表示する」アプリを仮に作ったとしても
1、あるソーシャルサイトのアカウントを持っている
2、そのソーシャルサイトに十分なデータソースがある(友達がちゃんといる、とか)
という2つの条件が満たされた上で、そのアプリをソーシャルサイトにUPした上で動作確認を行わなければならない。
これは非常にめんどくさい、というか開発効率悪い、のでEclipseプラグインとして提供されているOSDE(OpenSocial Development Environment)を利用するのがいいかと。
Eclipseはプラグインベースの(Javaが有名)IDEで、ここでダウソできる。どれがいいか分からん場合はfor Java Developerが無難。EEでもいい。
http://www.eclipse.org/downloads/
OSDEはここ参考に
http://wiki.opensocial.org/index.php?title=OSDE_Tutorial
OSDEを使うと何がよさそうかというと
・Shindig内蔵で、ローカルにテスト用ソーシャルサイトデータベースみたいなものを作成してテストできる
・当然、ソーシャルサイトの「ユーザ」をIDE上から挿入できたりもする
・当然OpenSocialアプリ用開発支援もある
・結論としてはEclipse上でOpenSocialアプリの開発が完結する(実地テストを除く)
てな感じ。
これからOpenSocial対応のアプリを作ろうとしている人の助けになれば幸いです。
(*チュートリアルのJavaScript部分が俺の環境ではちゃんと動かん。何故だ。