SlideShare uma empresa Scribd logo
1 de 41
Baixar para ler offline
OpenSocial jQuery による
  ウェブ制作スキルを活かした 
OpenSocial アプリケーション開発 

     SocialWeb Conference vol.5 
      〜 OpenSocial Night #2 〜 
           2010年2月23日
 なかじまんソフトウェア株式会社 中嶋信博 
     http://nakajiman.lrlab.to/    1 
目次 
•  OpenSocial アプリの基本性質の振り返り 
•  OpenSocial jQuery の目的と概要の紹介 
•  OpenSocial jQuery による iGoogle ガジェッ
   トの開発 
•  OpenSocial jQuery による mixi アプリの開
   発 
•  パーミッションモデルと OpenSocial jQuery 
   のエラーハンドリング
                                        2 
OpenSocial アプリのつくりって … 

Profile ビュー


              Canvas ビュー 

                            3 
ビューがページのウェブアプリです 
<?xml version="1.0" encoding="UTF­8" ?> 
<Module> 
<ModulePrefs title="Hello, world!" /> 
<Content type="html" view="profile"><![CDATA[ 
Hello, world! 
]]></Content>      ビュー = ページ = iframe
<Content type="html" view="canvas"><![CDATA[ 
Hello, world! 
]]></Content>  HTML + CSS + JavaScript 
</Module> 
                                             4 
ウェブアプリとの違いは OpenSocial 
 API を使い、その影響を受けること 
•  OpenSocial JavaScript API 
  – OpenSocial API: opensocial.* 
  – Gadgets API: gadgets.* 
  – 拡張 API: mixi.* goohome.* … 
•  OpenSocial RESTful API 
  – RESTful Protocol 
  – JSON­RPC Protocol 
•  パーミッションモデル 
  – 情報の取得や更新の制限                     5 
例 OpenSocial JavaScript API 
             Hello, Viewer 
<Content type="html"><![CDATA[ 
<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> 
                                                          6 
]]></Content>
OpenSocial アプリは 
  HTML + CSS + JavaScript 
 で開発できる典型的なウェブアプリ 


  OpenSocial jQuery の目的


       OpenSocial アプリは 
OpenSocial API + パーミッションモデル
 で成り立つプラットフォーム専用アプリ           7 
OpenSocial jQuery は、 
OpenSocial JavaScript API を 
 jQuery で橋渡することで、 
OpenSocial アプリをウェブアプ
リのように開発できるようにする 
 JavaScript ライブラリです
                           8 
例 OpenSocial jQuery 
                 Hello, Viewer 
<Content type="html"><![CDATA[ 
<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> 
]]></Content>


                                                                       9 
OpenSocial jQuery への期待 
•  jQuery の高いシェア、広いターゲット層 
 – ウェブ制作の関係者 
•  jQuery によるウェブ制作スキルの活用 
 – ウェブ制作の開発手法、デザイン手法 
•  jQuery によるウェブ制作実績の活用 
 – ソースコードの移植性、jQuery プラグイン 
•  OpenSocial アプリの活性化 
 – SAP (Social Application Provider) の動機
                                       10 
OpenSocial jQuery の情報源 
•  ダウンロード v1.3.2.5 / v1.2.6.5 
  –  http://code.google.com/p/opensocial­jquery 
•  ライセンス 
  –  MIT License 
  –  Apache License 2.0 (Templates プラグインのみ) 
•  ドキュメント en / ja 
  –  http://code.google.com/p/opensocial­jquery/w 
•  メーリングリスト 
  –  http://groups.google.com/group/opensocial­jquery 
•  コミッタ コントリビュータ 
  –  @nakajiman @rkanbe @lackac @jonca.rafal             11 
OpenSocial jQuery の対応環境 
•  mixi アプリ (PC) 
•  goo ホームガジェット 
•  CREYLE アプリ (最終確認中) 
•  iGoogle ガジェット 
•  Google Friend Connect ガジェット 
Apache Shindig http://shindig.apache.org/ 
•  OpenSocial: Orkut、hi5、Partuza … 
•  Gadgets: Google Wave …
                                             12 
OpenSocial jQuery の構成 
       OpenSocial JavaScript API


  OpenSocial jQuery: opensocial­jquery.js 
             jQuery 1.3.2 
JSDeferred 0.2.2        コアプラグイン 
      拡張プラグイン: opensocial­jquery.<name>.js 
                         jQuery プラグイン

                                             13 
           OpenSocial アプリ 
OpenSocial jQuery の対応範囲 
    Gadgets API: gadgets.* 
•  jQuery.fn.ready     •  jQuery.view & 
   –  ガジェットのロード           jQuery.views 
•  jQuery.ajax &         –  ビューの判別と遷移 
   jQuery.getFeed      •  jQuery.fn.height & 
   –  外部サーバの呼び出し          jQuery.fn.adjustHeight & 
   –  署名リクエスト             jQuery.fn.autoHeight 
   –  フィードの取得            –  高さの変更 
•  jQuery.pref &       •  jQuery.fn.minimessage 
   jQuery.prefArray  –  ミニメッセージの表示
   –  プリファレンスとパラメータの取得 
                                               14 
OpenSocial jQuery の対応範囲 
    Gadgets API: gadgets.* 
•  jQuery.fn.tab           •  jQuery.fn.title 
   –  タブの表示                   –  タイトルの変更 
•  jQuery.flash.version    •  jQuery.msg 
   –  Flash バージョンの判別          –  メッセージバンドルの取得 
•  jQuery.fn.flash         •  jQuery.container.cache 
   –  Flash の埋め込み             –  キャッシュの制御 
•  jQuery.pub & jQuery.sub 
   –  ガジェット間のメッセージ送受信 
•  jQuery.feature 
   –  フィーチャーの判別とパラメータの取得                          15 
外部サーバの呼び出し
<script type="text/javascript"> 
jQuery(document).ready(function($) { 
    $.ajax({ 
         url: 'http://gdata.youtube.com/feeds/videos', 
         data: { vq: 'corgi', alt: 'json' }, dataType: 'json', 
         success: function(data, status) { 
             $.each(data.feed.entry, function(i, entry) { 
                  var img = $('<img/>') 
                      .attr('src', entry.media$group.media$thumbnail[0].url) 
                  $('<li/>').append(img).appendTo('#videos'); 
             }); 
         }, error: function(xhr, status, e) { 
             $('<span/>').text(status).minimessage(); 
         } 
    }); 
});
</script> <ul id="videos"></ul>                                                 16 
ビューの遷移 canvas へ
<Content type="html" view="home"><![CDATA[ 
<script type="text/javascript"> 
jQuery(document).ready(function($) { 
    $.getJSON('http://picasaweb.google.com/data/feed/api/all', { 
         q: $.pref('q'), alt: 'json', 'max­results': 20 
    }, function(data) { 
         $.each(data.feed.entry, function(i, entry) { 
              var img = $('<img/>') 
                  .attr('src', entry.media$group.media$thumbnail[0].url) 
                  .click(function() { $.view('canvas', { url: entry.content.src }); }); 
              $('<li/>').append(img).appendTo('#photos'); 
         }); 
    }); 
});
</script> <ul id="photos"></ul> 
]]></Content> 
                                                                                    17 
ビューの遷移 home から 
<Content type="html" view="canvas"><![CDATA[ 
<script type="text/javascript"> 
jQuery(document).ready(function($, data) { 
    $(window).height(400); 
    $('<img/>').attr('src', data.url).appendTo('body'); 
});
</script> 
]]></Content>




                                                           18 
署名リクエスト + OpenSocial Host
var form = $('form').submit(function() { 
    $.post('http://opensocialhost.com/data/insert signed', { 
        key1: data.url + new Date().getTime(), value1: this.note.value 
    }, function() { … }, 'json'); 
    return false; 
});

$.post('http://opensocialhost.com/data/search signed', 
   { key: data.url }, function(res) { ... }, 'json'); 

<form> 
<input name="note" type="text" /> 
<input type="submit" value="保存" /> 
</form> 
<ul id="notes"></ul> 

                                                                          19 
OpenSocial jQuery の対応範囲 
 OpenSocial API: opensocial.* 
•  jQuery.ajax & jQuery.getData 
  – プロフィール情報、友達情報の取得 
  – 永続化情報の取得と保存 (削除は未対応) 
  – アクティビティの取得と送信 
  – メッセージの送信 
  – アルバム情報、写真情報の取得 
•  jQuery.container 
  – コンテナの判別、ドメインの取得                20 
友達伝言板アプリ




           21 
プロフィール情報の取得 
$.get('/people/@viewer', { fields: 'profileUrl' }, function(data) { 
     var person = data[0]; 
     $('#self a').attr({ title: person.nickname, href: person.profileUrl }); 
     $('#self a img').attr('src', person.thumbnailUrl); 
}, 'data'); 

<div id="self"> 
<a target="_top"><img/></a> 
</div>




                                                                                22 
永続化情報の取得と保存 
var form = $('form').submit(function() { 
    $.postData('/appdata/@viewer', { comment: this.comment.value }); 
    return false; 
});

$.getData('/appdata/@viewer', function(data) { 
    $.each(data, function(id, data) { 
         form[0].comment.value = data.comment || ''; 
    }); 
});

<form> 
<input name="comment" type="text" /> 
<input type="submit" value="更新" /> 
</form>

                                                                        23 
プロフィール情報と
             永続化情報の同時取得 
$.getData('/people/@viewer', { appData: 'comment' }, function(data) { 
    var person = data[0]; 
    form[0].comment.value = person.appData.comment || ''; 
    form.find('img').attr({ title: person.nickname, src: person.thumbnailUrl }); 
});

<form> 
<img/> 
<input name="comment" type="text" /> 
<input type="submit" value="保存" /> 
</form>




                                                                             24 
友達情報の取得 
$.getData('/people/@viewer/@friends', { appData: 'comment' }, 
     function(data) { 
        $.each(data, function(i, person) { 
            var img = $('<img/>') 
                .attr({ title: person.nickname, src: person.thumbnailUrl }); 
            $('<li/>').text(person.appData.comment || '').prepend(img) 
                .appendTo('#friends'); 
        });
        // data.startIndex 
        // data.itemsPerPage 
        // data.totalResults 
 }); 

<ul id="friends"></ul>


                                                                                25 
プロフィール情報、友達情報の取得 
•  GET /people/@viewer/@self 
•  GET /people/@viewer/@friends 
•  GET /people/@viewer/@friends/@app 
•  GET /people/@owner/ … 
•  GET /people/<id>/ … 
@self は省略可 @viewer は @me でも可 
•  fields, appData, filterBy, sortBy, startIndex, 
   count パラメータ
                                                26 
永続化情報の取得と保存 
•  GET or POST /appdata/@viewer/@self 
•  GET /appdata/@viewer/@friends 
•  GET /appdata/@viewer/@friends/@app 
•  GET /appdata/@owner/ … 
•  GET /appdata/<id>/ … 
@self は省略可 @viewer は @me でも可 
•  fields パラメータ 
•  gadgets.json.stringify と parse を自動化
                                         27 
アクティビティの送信 
var form = $('form').submit(function() { 
    $.postData('/appdata/@viewer', { comment: this.comment.value }, 
        function() { 
            $.postData('/activities/@viewer', { title: 'コメントを更新しました' }); 
            $('<span/>').text('コメントを更新しました').minimessage('slow'); 
        } 
    ); return false; 
});




                                                                       28 
メッセージの送信 
var img = $('<img/>') 
   .attr({ title: person.nickname, src: person.thumbnailUrl }); 
   .click(function() { 
       $.postData('/messages/@viewer/@outbox', { 
            recipients: person.id, title: '', 
            body: 'コメントの催促です。コメントを更新してください。' 
       }); 
   });




                                                                   29 
アクティビティの取得と送信 
•  GET or POST /activities/@viewer/@self 
•  GET /activities/@viewer/@friends 
•  GET /activities/@owner/ … 
•  GET /activities/<id>/ … 
@self は省略可 @viewer は @me でも可 
•  title, body, url, mediaItems, … recipients 
   (mixi 拡張) パラメータ

                                                 30 
メッセージの送信 
•  POST /messages/@viewer/@outbox 
@viewer は @me でも可 
•  recipients, title, body パラメータ




                                     31 
OpenSocial jQuery の対応範囲
       拡張 API: mixi.* 
•  jQuery.ajax 
  – 学校の選択 
  – 学校リストの取得 
  – コミュニティ情報の取得 
•  jQuery.invite 
  – 友達の招待 
  – 同級生の招待 
•  jQuery.view 
  – 外部サイトへの誘導              32 
友達の招待 
$('#invite').click(function() { 
     $.invite(function(ids) { 
           $.postData('/appdata/@viewer', { inviteIds: ids }); 
     });  return false; 
 }); 

<a id="invite" href="#invite"> 
友達を招待する</a>




                                                                  33 
おやおや? Viewer や友達が
アプリをインストールしていないと …




                 34 
OpenSocial API の制限を受けます 
•  Viewer がアプリをインストールしていない 
 – プロフィール情報の取得が ID のみに制限される 
 – 友達情報の取得がエラーになる 
 – 永続化情報の取得と保存がエラーになる 
 – アクティビティの送信がエラーになる 
 – メッセージの送信がエラーになる 
 – 友達の招待がエラーになる 
•  友達がアプリをインストールしていない 
 – アプリに関するプライバシー設定にしたがい、
   友達情報の取得が許可項目のみに制限される
                              35 
36
エラーハンドリング 3つの方法 
$.ajax({ 
    url: '/people/@viewer/@friends', 
    data: { fields: 'profileUrl', appData: 'comment' }, dataType: 'data', 
    success: function(data, status) { … }, 
    error: function(xhr, status, e) { 
        $('<span/>').text('エラーが発生しました。').minimessage(); 
    } 
});

$('body').ajaxError(function(event, xhr, settings, e) { 
    $('<span/>').text('エラーが発生しました。').minimessage(); 
});

$.getData('/people/@viewer/@friends', { … }).next(function(data) { 
    … 
}).error(function(data) { 
    $('<span/>').text('エラーが発生しました。').minimessage(); 
});                                                                          37 
アプリ説明ページに遷移し、
         アプリのインストールを促す 
$.getData('/people/@viewer', { … }, function(data) { 
    … 
}).getData('/people/@viewer/@friends', { … }, function(data) { 
    … 
}).error(function(e) { 
    var url = 'http://mixi.jp/view_appli.pl?' + $.param({ id: $.pref('app_id') }); 
    window.open(url, '_top'); 
});




                                                                                38 
取得できない項目を補うか、アプリを
  インストールしている友達に限定する 
var img = $('<img/>').attr({ 
    title: person.nickname || 'ゲスト', 
    src: person.thumbnailUrl || 
         'http://img.mixi.jp/img/basic/common/noimage_member76.gif' 
});

$.getData('/people/@viewer/@friends/@app', { … }, function(data) { 
   … 
})




                                                                       39 
そして、完成 … ウェブアプリと同じに
見えました? 違うように見えました?




                  40 
ありがとうございました
  ウェブ制作の関係者のみなさん

 お持ちのウェブ制作スキルと実績で 
  OpenSocial アプリケーションを
     開発してみませんか? 

OpenSocial jQuery がきっと役立ちます

                              41 

Mais conteúdo relacionado

Mais procurados

Magento meet up Tokyo#1 for Design
Magento meet up Tokyo#1 for DesignMagento meet up Tokyo#1 for Design
Magento meet up Tokyo#1 for DesignMiho Nakano
 
WordPressと外部APIとの連携
WordPressと外部APIとの連携WordPressと外部APIとの連携
WordPressと外部APIとの連携Hidekazu Ishikawa
 
第一回Miim勉強会
第一回Miim勉強会第一回Miim勉強会
第一回Miim勉強会Yuri Kawamoto
 
WordPressで提供するWeb API
WordPressで提供するWeb APIWordPressで提供するWeb API
WordPressで提供するWeb APIYuko Toriyama
 
Vue Router + Vuex
Vue Router + VuexVue Router + Vuex
Vue Router + VuexKei Yagi
 
Monaca公式ガイドブック発売記念全国キャラバン
Monaca公式ガイドブック発売記念全国キャラバンMonaca公式ガイドブック発売記念全国キャラバン
Monaca公式ガイドブック発売記念全国キャラバンアシアル株式会社
 
Monaca公式ガイドブック発売記念全国キャラバン
Monaca公式ガイドブック発売記念全国キャラバンMonaca公式ガイドブック発売記念全国キャラバン
Monaca公式ガイドブック発売記念全国キャラバンアシアル株式会社
 

Mais procurados (11)

Magento meet up Tokyo#1 for Design
Magento meet up Tokyo#1 for DesignMagento meet up Tokyo#1 for Design
Magento meet up Tokyo#1 for Design
 
WordPressと外部APIとの連携
WordPressと外部APIとの連携WordPressと外部APIとの連携
WordPressと外部APIとの連携
 
第一回Miim勉強会
第一回Miim勉強会第一回Miim勉強会
第一回Miim勉強会
 
jQuery勉強会#2
jQuery勉強会#2jQuery勉強会#2
jQuery勉強会#2
 
jQuery超入門編
jQuery超入門編jQuery超入門編
jQuery超入門編
 
jQuery Mobileの基礎
jQuery Mobileの基礎jQuery Mobileの基礎
jQuery Mobileの基礎
 
WordPressで提供するWeb API
WordPressで提供するWeb APIWordPressで提供するWeb API
WordPressで提供するWeb API
 
Vue Router + Vuex
Vue Router + VuexVue Router + Vuex
Vue Router + Vuex
 
Monaca公式ガイドブック発売記念全国キャラバン
Monaca公式ガイドブック発売記念全国キャラバンMonaca公式ガイドブック発売記念全国キャラバン
Monaca公式ガイドブック発売記念全国キャラバン
 
Monaca公式ガイドブック発売記念全国キャラバン
Monaca公式ガイドブック発売記念全国キャラバンMonaca公式ガイドブック発売記念全国キャラバン
Monaca公式ガイドブック発売記念全国キャラバン
 
Jetpack Workshop
Jetpack WorkshopJetpack Workshop
Jetpack Workshop
 

Destaque

appengine ja night #10 Google AppEngine で作る Google Apps Marketplace 対応サービス
appengine ja night #10 Google AppEngine で作る Google Apps Marketplace 対応サービスappengine ja night #10 Google AppEngine で作る Google Apps Marketplace 対応サービス
appengine ja night #10 Google AppEngine で作る Google Apps Marketplace 対応サービスNobuhiro Nakajima
 
OSDE と OpenSocial jQuery で作る簡単ソーシャルアプリ (1/3)
OSDE と OpenSocial jQuery で作る簡単ソーシャルアプリ (1/3)OSDE と OpenSocial jQuery で作る簡単ソーシャルアプリ (1/3)
OSDE と OpenSocial jQuery で作る簡単ソーシャルアプリ (1/3)Nobuhiro Nakajima
 
#MA6 Mashup Camp - Social Platform Day
#MA6 Mashup Camp - Social Platform Day#MA6 Mashup Camp - Social Platform Day
#MA6 Mashup Camp - Social Platform DayNobuhiro Nakajima
 
#MA6 Mashup Lightning Talks #114 ATND Draft イベントの下書き保存とプレビュー できちゃう Chrome Ex...
#MA6 Mashup Lightning Talks #114 ATND Draft イベントの下書き保存とプレビューできちゃう Chrome Ex...#MA6 Mashup Lightning Talks #114 ATND Draft イベントの下書き保存とプレビューできちゃう Chrome Ex...
#MA6 Mashup Lightning Talks #114 ATND Draft イベントの下書き保存とプレビュー できちゃう Chrome Ex...Nobuhiro Nakajima
 
Google+ API の紹介 - Google Social Developers 2011 Winter
Google+ API の紹介 - Google Social Developers 2011 WinterGoogle+ API の紹介 - Google Social Developers 2011 Winter
Google+ API の紹介 - Google Social Developers 2011 WinterNobuhiro Nakajima
 
Google Dev Fest 2010 Japan LT: OpenSocial JavaScript API is good, Lightweight...
Google Dev Fest 2010 Japan LT: OpenSocial JavaScript API is good, Lightweight...Google Dev Fest 2010 Japan LT: OpenSocial JavaScript API is good, Lightweight...
Google Dev Fest 2010 Japan LT: OpenSocial JavaScript API is good, Lightweight...Nobuhiro Nakajima
 
Google Apps をSocial にするOpenSocialPages (;゜○゜) お願いですから応募してください
Google Apps をSocial にするOpenSocialPages (;゜○゜) お願いですから応募してくださいGoogle Apps をSocial にするOpenSocialPages (;゜○゜) お願いですから応募してください
Google Apps をSocial にするOpenSocialPages (;゜○゜) お願いですから応募してくださいNobuhiro Nakajima
 
今すぐ誰でも OpenSocial コンテナに なれるんです LIVE
今すぐ誰でもOpenSocial コンテナになれるんです LIVE今すぐ誰でもOpenSocial コンテナになれるんです LIVE
今すぐ誰でも OpenSocial コンテナに なれるんです LIVENobuhiro Nakajima
 
Mashup Awards は 新しい技術を試す 絶好の機会です
Mashup Awards は新しい技術を試す絶好の機会ですMashup Awards は新しい技術を試す絶好の機会です
Mashup Awards は 新しい技術を試す 絶好の機会ですNobuhiro Nakajima
 

Destaque (10)

appengine ja night #10 Google AppEngine で作る Google Apps Marketplace 対応サービス
appengine ja night #10 Google AppEngine で作る Google Apps Marketplace 対応サービスappengine ja night #10 Google AppEngine で作る Google Apps Marketplace 対応サービス
appengine ja night #10 Google AppEngine で作る Google Apps Marketplace 対応サービス
 
OSDE と OpenSocial jQuery で作る簡単ソーシャルアプリ (1/3)
OSDE と OpenSocial jQuery で作る簡単ソーシャルアプリ (1/3)OSDE と OpenSocial jQuery で作る簡単ソーシャルアプリ (1/3)
OSDE と OpenSocial jQuery で作る簡単ソーシャルアプリ (1/3)
 
#MA6 Mashup Camp - Social Platform Day
#MA6 Mashup Camp - Social Platform Day#MA6 Mashup Camp - Social Platform Day
#MA6 Mashup Camp - Social Platform Day
 
#MA6 Mashup Lightning Talks #114 ATND Draft イベントの下書き保存とプレビュー できちゃう Chrome Ex...
#MA6 Mashup Lightning Talks #114 ATND Draft イベントの下書き保存とプレビューできちゃう Chrome Ex...#MA6 Mashup Lightning Talks #114 ATND Draft イベントの下書き保存とプレビューできちゃう Chrome Ex...
#MA6 Mashup Lightning Talks #114 ATND Draft イベントの下書き保存とプレビュー できちゃう Chrome Ex...
 
Google+ API の紹介 - Google Social Developers 2011 Winter
Google+ API の紹介 - Google Social Developers 2011 WinterGoogle+ API の紹介 - Google Social Developers 2011 Winter
Google+ API の紹介 - Google Social Developers 2011 Winter
 
Google Dev Fest 2010 Japan LT: OpenSocial JavaScript API is good, Lightweight...
Google Dev Fest 2010 Japan LT: OpenSocial JavaScript API is good, Lightweight...Google Dev Fest 2010 Japan LT: OpenSocial JavaScript API is good, Lightweight...
Google Dev Fest 2010 Japan LT: OpenSocial JavaScript API is good, Lightweight...
 
Google Apps をSocial にするOpenSocialPages (;゜○゜) お願いですから応募してください
Google Apps をSocial にするOpenSocialPages (;゜○゜) お願いですから応募してくださいGoogle Apps をSocial にするOpenSocialPages (;゜○゜) お願いですから応募してください
Google Apps をSocial にするOpenSocialPages (;゜○゜) お願いですから応募してください
 
i.ntere.st Overview
i.ntere.st Overviewi.ntere.st Overview
i.ntere.st Overview
 
今すぐ誰でも OpenSocial コンテナに なれるんです LIVE
今すぐ誰でもOpenSocial コンテナになれるんです LIVE今すぐ誰でもOpenSocial コンテナになれるんです LIVE
今すぐ誰でも OpenSocial コンテナに なれるんです LIVE
 
Mashup Awards は 新しい技術を試す 絶好の機会です
Mashup Awards は新しい技術を試す絶好の機会ですMashup Awards は新しい技術を試す絶好の機会です
Mashup Awards は 新しい技術を試す 絶好の機会です
 

Semelhante a SocialWeb Conference vol.5 OpenSocial Night #2

初めての Data api cms どうでしょう - 大阪夏の陣
初めての Data api   cms どうでしょう - 大阪夏の陣初めての Data api   cms どうでしょう - 大阪夏の陣
初めての Data api cms どうでしょう - 大阪夏の陣Yuji Takayama
 
初めての Data api
初めての Data api初めての Data api
初めての Data apiYuji Takayama
 
Data apiで実現 進化するwebの世界
Data apiで実現 進化するwebの世界Data apiで実現 進化するwebの世界
Data apiで実現 進化するwebの世界Yuji Takayama
 
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話Akira Inoue
 
初めての Data API CMS どうでしょう - 仙台編 -
初めての Data API   CMS どうでしょう - 仙台編 -初めての Data API   CMS どうでしょう - 仙台編 -
初めての Data API CMS どうでしょう - 仙台編 -Yuji Takayama
 
ソーシャルアプリ勉強会(第一回資料)配布用
ソーシャルアプリ勉強会(第一回資料)配布用ソーシャルアプリ勉強会(第一回資料)配布用
ソーシャルアプリ勉強会(第一回資料)配布用Yatabe Terumasa
 
jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキング
 jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキング jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキング
jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキングTakashi Okamoto
 
Mashup Caravan in オープンソースカンファレンス2011 Hiroshima: infoScoop OpenSource
Mashup Caravan in オープンソースカンファレンス2011 Hiroshima: infoScoop OpenSourceMashup Caravan in オープンソースカンファレンス2011 Hiroshima: infoScoop OpenSource
Mashup Caravan in オープンソースカンファレンス2011 Hiroshima: infoScoop OpenSourcecmutoh
 
勉強会force#2 HTML5によるモバイルアプリ開発
勉強会force#2 HTML5によるモバイルアプリ開発勉強会force#2 HTML5によるモバイルアプリ開発
勉強会force#2 HTML5によるモバイルアプリ開発Kazuki Nakajima
 
CodeIgniterによるPhwittr
CodeIgniterによるPhwittrCodeIgniterによるPhwittr
CodeIgniterによるPhwittrkenjis
 
エンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJSエンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJSAyumi Goto
 
ARC-003_モダン Web: たった今と、ほんの少し未来の話
ARC-003_モダン Web: たった今と、ほんの少し未来の話ARC-003_モダン Web: たった今と、ほんの少し未来の話
ARC-003_モダン Web: たった今と、ほんの少し未来の話decode2016
 
20110714 j queryベーシック
20110714 j queryベーシック20110714 j queryベーシック
20110714 j queryベーシック良太 増子
 
WordPressで制御するこれからのIoT
WordPressで制御するこれからのIoTWordPressで制御するこれからのIoT
WordPressで制御するこれからのIoTYuriko IKEDA
 
Jqm20120210
Jqm20120210Jqm20120210
Jqm20120210cmtomoda
 

Semelhante a SocialWeb Conference vol.5 OpenSocial Night #2 (20)

初めての Data api cms どうでしょう - 大阪夏の陣
初めての Data api   cms どうでしょう - 大阪夏の陣初めての Data api   cms どうでしょう - 大阪夏の陣
初めての Data api cms どうでしょう - 大阪夏の陣
 
初めての Data api
初めての Data api初めての Data api
初めての Data api
 
Data apiで実現 進化するwebの世界
Data apiで実現 進化するwebの世界Data apiで実現 進化するwebの世界
Data apiで実現 進化するwebの世界
 
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
 
初めての Data API CMS どうでしょう - 仙台編 -
初めての Data API   CMS どうでしょう - 仙台編 -初めての Data API   CMS どうでしょう - 仙台編 -
初めての Data API CMS どうでしょう - 仙台編 -
 
ソーシャルアプリ勉強会(第一回資料)配布用
ソーシャルアプリ勉強会(第一回資料)配布用ソーシャルアプリ勉強会(第一回資料)配布用
ソーシャルアプリ勉強会(第一回資料)配布用
 
IgGrid 入門編
IgGrid 入門編IgGrid 入門編
IgGrid 入門編
 
Visualforce + jQuery
Visualforce + jQueryVisualforce + jQuery
Visualforce + jQuery
 
Jqm20120804 publish
Jqm20120804 publishJqm20120804 publish
Jqm20120804 publish
 
jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキング
 jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキング jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキング
jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキング
 
Mashup Caravan in オープンソースカンファレンス2011 Hiroshima: infoScoop OpenSource
Mashup Caravan in オープンソースカンファレンス2011 Hiroshima: infoScoop OpenSourceMashup Caravan in オープンソースカンファレンス2011 Hiroshima: infoScoop OpenSource
Mashup Caravan in オープンソースカンファレンス2011 Hiroshima: infoScoop OpenSource
 
勉強会force#2 HTML5によるモバイルアプリ開発
勉強会force#2 HTML5によるモバイルアプリ開発勉強会force#2 HTML5によるモバイルアプリ開発
勉強会force#2 HTML5によるモバイルアプリ開発
 
APIMeetup 20170329_ichimura
APIMeetup 20170329_ichimuraAPIMeetup 20170329_ichimura
APIMeetup 20170329_ichimura
 
CodeIgniterによるPhwittr
CodeIgniterによるPhwittrCodeIgniterによるPhwittr
CodeIgniterによるPhwittr
 
エンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJSエンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJS
 
ARC-003_モダン Web: たった今と、ほんの少し未来の話
ARC-003_モダン Web: たった今と、ほんの少し未来の話ARC-003_モダン Web: たった今と、ほんの少し未来の話
ARC-003_モダン Web: たった今と、ほんの少し未来の話
 
Webに今求められているレベル: HTML5 コントロールを利用した開発
Webに今求められているレベル: HTML5 コントロールを利用した開発Webに今求められているレベル: HTML5 コントロールを利用した開発
Webに今求められているレベル: HTML5 コントロールを利用した開発
 
20110714 j queryベーシック
20110714 j queryベーシック20110714 j queryベーシック
20110714 j queryベーシック
 
WordPressで制御するこれからのIoT
WordPressで制御するこれからのIoTWordPressで制御するこれからのIoT
WordPressで制御するこれからのIoT
 
Jqm20120210
Jqm20120210Jqm20120210
Jqm20120210
 

SocialWeb Conference vol.5 OpenSocial Night #2