google dev fest 2010 japan lt: opensocial javascript api is good, lightweight javascript api is...

17
1 OpenSocial JavaScript API is good, Lightweight JavaScript API is better, OpenSocial jQuery is best Google DevFest 2010 Japan 2010311なかじまんソフトウェア株式会社 中嶋信博 http://nakajiman.lrlab.to/

Upload: nakajiman-software-inc

Post on 10-May-2015

2.502 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Google Dev Fest 2010 Japan LT: OpenSocial JavaScript API is good, Lightweight JavaScript API is better, OpenSocial jQuery is best

1

OpenSocial JavaScript API is good, Lightweight JavaScript API is better,

OpenSocial jQuery is best

Google DevFest 2010 Japan 2010年3月11日

なかじまんソフトウェア株式会社 中嶋信博 http://nakajiman.lrlab.to/

Page 2: Google Dev Fest 2010 Japan LT: OpenSocial JavaScript API is good, Lightweight JavaScript API is better, OpenSocial jQuery is best

2

テーマは、 OpenSocial JavaScript API

と、ライブラリです。

Page 3: Google Dev Fest 2010 Japan LT: OpenSocial JavaScript API is good, Lightweight JavaScript API is better, OpenSocial jQuery is best

3

Hello, Viewer

で、比較します。

Page 4: Google Dev Fest 2010 Japan LT: OpenSocial JavaScript API is good, Lightweight JavaScript API is better, OpenSocial jQuery is best

4

<script type="text/javascript"> function init()

var req = opensocial.newDataRequest(); req.add(req.newFetchPersonRequest(

opensocial.IdSpec.PersonId.VIEWER), "viewer"); req.send(function(data)

var viewer = data.get("viewer").getData(); var id = viewer.getId(); var name = viewer.getDisplayName(); var thumbnailUrl = viewer.getField(

opensocial.Person.Field.THUMBNAIL_URL); );

gadgets.util.registerOnLoadHandler(init); </script>

OpenSocial JavaScript API is good

Page 5: Google Dev Fest 2010 Japan LT: OpenSocial JavaScript API is good, Lightweight JavaScript API is better, OpenSocial jQuery is best

5

Lightweight JavaScript API is better <script type="text/javascript"> function init()

osapi.people.get( userId: '@viewer' ).execute( function(viewer)

var id = viewer.id; var name = viewer.nickname; var thumbnailUrl = viewer.thumbnailUrl;

); gadgets.util.registerOnLoadHandler(init); </script>

RPC Protocol­base API

Page 6: Google Dev Fest 2010 Japan LT: OpenSocial JavaScript API is good, Lightweight JavaScript API is better, OpenSocial jQuery is best

6

OpenSocial jQuery is best <script type="text/javascript" src="opensocial­jquery.js"></script> <script type="text/javascript"> jQuery(document).ready(function($)

$.get('/people/@viewer', function(data) var viewer = data[0]; var id = viewer.id; var name = viewer.nickname; var thumbnailUrl = viewer.thumbnailUrl;

, 'data'); );</script>

REST Protocol­like Library

Page 7: Google Dev Fest 2010 Japan LT: OpenSocial JavaScript API is good, Lightweight JavaScript API is better, OpenSocial jQuery is best

7

なぜって jQuery.ajax で …

ガジェットから、

クロスドメインで、

著名付きリクエストで、

外部サーバを呼び出せるし、

Page 8: Google Dev Fest 2010 Japan LT: OpenSocial JavaScript API is good, Lightweight JavaScript API is better, OpenSocial jQuery is best

8

さらに jQuery.ajax で …

ガジェットから、 REST Protocol 仕様風の、

仮想エンドポイントを介して、

リソースにアクセスできるし、

Page 9: Google Dev Fest 2010 Japan LT: OpenSocial JavaScript API is good, Lightweight JavaScript API is better, OpenSocial jQuery is best

9

People • GET /people/@viewer/@self • GET /people/@viewer/@friends • GET /people/@viewer/@friends/@app • GET /people/@owner/ … • GET /people/<id>/ …

Page 10: Google Dev Fest 2010 Japan LT: OpenSocial JavaScript API is good, Lightweight JavaScript API is better, OpenSocial jQuery is best

10

AppData • GET or POST /appdata/@viewer/@self • GET /appdata/@viewer/@friends • GET /appdata/@viewer/@friends/@app • GET /appdata/@owner/ … • GET /appdata/<id>/ …

Page 11: Google Dev Fest 2010 Japan LT: OpenSocial JavaScript API is good, Lightweight JavaScript API is better, OpenSocial jQuery is best

11

Activities • GET or POST /activities/@viewer/@self • GET /activities/@viewer/@friends • GET /activities/@owner/ … • GET /activities/<id>/ …

• POST /messages/@viewer/@outbox

Message

Page 12: Google Dev Fest 2010 Japan LT: OpenSocial JavaScript API is good, Lightweight JavaScript API is better, OpenSocial jQuery is best

12

Albums and MediaItems • GET /albums/@viewer/@self • GET /albums/@owner/ … • GET /albums/<id>/ … • GET /mediaitems/@viewer/@self/<id> • GET /mediaitems/@owner/ … • GET /mediaitems/<id>/ …

Page 13: Google Dev Fest 2010 Japan LT: OpenSocial JavaScript API is good, Lightweight JavaScript API is better, OpenSocial jQuery is best

13

Communities • GET /communities/@viewer/@self • GET /communities/@owner/ … • GET /communities/<id>/ …

• GET /schools/@viewer/@self • GET /schools/@selected

Classmates

Page 14: Google Dev Fest 2010 Japan LT: OpenSocial JavaScript API is good, Lightweight JavaScript API is better, OpenSocial jQuery is best

14

つまり jQuery.ajax で …

ガジェットから、

ひとつの方法だけで、

あらゆるリソースに、

アクセスできるってことです。

Page 15: Google Dev Fest 2010 Japan LT: OpenSocial JavaScript API is good, Lightweight JavaScript API is better, OpenSocial jQuery is best

15

Apache Shindig なら使えます http://shindig.apache.org/

• OpenSocial コンテナ – mixi アプリ for PC – goo ホームガジェット – CREYLE アプリ – iGoogle ガジェット – Google Friend Connect ガジェット

• Gadgets コンテナ – infoScoop OpenSource – Google Wave ガジェットなど

Page 16: Google Dev Fest 2010 Japan LT: OpenSocial JavaScript API is good, Lightweight JavaScript API is better, OpenSocial jQuery is best

16

日本発の OpenSocial 向け JavaScript ライブラリもチェック!

• jOpenSocial –http://code.google.com/p/jopensocial/

• jQuery.opensocial_simple Plugin –http://tech.kayac.com/archive/jquery­ opensocial­simple.html

• mixi app framework mist.js –http://tech.kayac.com/archive/mixi­app­ framework­mist.js.html

Page 17: Google Dev Fest 2010 Japan LT: OpenSocial JavaScript API is good, Lightweight JavaScript API is better, OpenSocial jQuery is best

17

OpenSocial JavaScript API is good, Lightweight JavaScript API is better,

OpenSocial jQuery is best

Check out this project: http://code.google.com/p/opensocial­jquery/