Titanium Mobile    でOAuth     @k0sukey
自己紹介• @k0sukey(いそべこーすけ)です• アクトタワーの15階で働いています• Titanium Mobile製のアプリを数本リリー スしました
こんなアプリを作りました
Titanium Mobile?• ウェブ技術者にはお馴染みのJavaScript で、iOS/Androidネイティブのアプリを 開発することができます• Appcelerator社が提供する開発環境、 Titanium StudioというI...
よく引き合いに出される対抗馬たち• Unity → 3Dゲーム• PhoneGap → HTML5&JS&CSS3で書ける• CoronaSDK → 2Dゲームとか• ngCore → 2Dソーシャルゲーム• GameSalada → GUIで...
なぜTi?• OSネイティブのUIが使える!• モジュール(Obj-C、JAVA)で拡張がで きる• 言われるほど重くないよ• ヌルく開発ができる!と、思っていた らObj-Cを書いている自分がいる
他にも...• JavaScript1.6に対応しています。forEach とかmapとか使えます• Rubyな方、CoffeeScriptで書けますよ• node.jsな方、CommonJSで書けますよ というか、推奨です• vimとかema...
苦手なこと• リアルタイム性の高いゲーム → それ、QuickTiGame2Dで• イメージ(グラフ)描画 → それ、webViewで• バッドノウハウてんこ盛り!アンド キュメントてんこ盛り!
個人的にAndroidはの道だと思います...
開発のサイクル1. まずはTiのみでホットモックを作成2. デザイナさんに配置する画像を依頼3. 調整&テスト4. リリース5. 簡単なものであれば大体一月以内でリ リース可能です
本日のお題、TiでOAuth!
よくある、アプリでTwitterと連携して∼とかいうお話です
OAuth• TiでOAuthというよりも、JavaScriptで OAuthするわけです• と、言っても、OAuthするために便利な ライブラリがあるのです
jsOAuth
jsOAuth• @bytespider さんが開発 https://github.com/bytespider/jsOAuth• Tiのことも考えて作られているので、そ のまま動きます。もちろんブラウザで も動きます• でも、毎回そのまま書く...
TiPlatformConnect
TiPlatformConnect• 色々なプラットフォームへ簡単に接続 するために、@ebyrn さんのtwitter- titaniumをforkして作りました• jsOAuth-1.3.3.jsにも多少手を入れて、 ファイルをアップロード...
TiPlatformConnect• 各プラットフォームのAPIを薄くラップ しています• 現在サポートしているプラットフォー ムはTwitter、Tumblr、Flickr、Mixi、 Foursquare(他にも募集中!)
TiPlatformConnect• https://github.com/k0sukey/  TiPlatformConnect• 簡単なサンプルもついていますので、  Titanium Studioでインポートすればその  ままアプリが動き...
TwitterでOAuthの例var twitter = require(twitter).Twitter({!    consumerKey: XXXXXXXXXXXXXXXXXXXX,!    consumerSecret: XXXXXXX...
デモ
Upcoming SlideShare
Loading in …5
×

Titanium MobileでOAuth

4,487 views
4,327 views

Published on

0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,487
On SlideShare
0
From Embeds
0
Number of Embeds
122
Actions
Shares
0
Downloads
22
Comments
0
Likes
7
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Titanium MobileでOAuth

    1. 1. Titanium Mobile でOAuth @k0sukey
    2. 2. 自己紹介• @k0sukey(いそべこーすけ)です• アクトタワーの15階で働いています• Titanium Mobile製のアプリを数本リリー スしました
    3. 3. こんなアプリを作りました
    4. 4. Titanium Mobile?• ウェブ技術者にはお馴染みのJavaScript で、iOS/Androidネイティブのアプリを 開発することができます• Appcelerator社が提供する開発環境、 Titanium StudioというIDEで提供されて います
    5. 5. よく引き合いに出される対抗馬たち• Unity → 3Dゲーム• PhoneGap → HTML5&JS&CSS3で書ける• CoronaSDK → 2Dゲームとか• ngCore → 2Dソーシャルゲーム• GameSalada → GUIでゲーム開発
    6. 6. なぜTi?• OSネイティブのUIが使える!• モジュール(Obj-C、JAVA)で拡張がで きる• 言われるほど重くないよ• ヌルく開発ができる!と、思っていた らObj-Cを書いている自分がいる
    7. 7. 他にも...• JavaScript1.6に対応しています。forEach とかmapとか使えます• Rubyな方、CoffeeScriptで書けますよ• node.jsな方、CommonJSで書けますよ というか、推奨です• vimとかemacsな方、MakeTiがあります
    8. 8. 苦手なこと• リアルタイム性の高いゲーム → それ、QuickTiGame2Dで• イメージ(グラフ)描画 → それ、webViewで• バッドノウハウてんこ盛り!アンド キュメントてんこ盛り!
    9. 9. 個人的にAndroidはの道だと思います...
    10. 10. 開発のサイクル1. まずはTiのみでホットモックを作成2. デザイナさんに配置する画像を依頼3. 調整&テスト4. リリース5. 簡単なものであれば大体一月以内でリ リース可能です
    11. 11. 本日のお題、TiでOAuth!
    12. 12. よくある、アプリでTwitterと連携して∼とかいうお話です
    13. 13. OAuth• TiでOAuthというよりも、JavaScriptで OAuthするわけです• と、言っても、OAuthするために便利な ライブラリがあるのです
    14. 14. jsOAuth
    15. 15. jsOAuth• @bytespider さんが開発 https://github.com/bytespider/jsOAuth• Tiのことも考えて作られているので、そ のまま動きます。もちろんブラウザで も動きます• でも、毎回そのまま書くのもダルい...
    16. 16. TiPlatformConnect
    17. 17. TiPlatformConnect• 色々なプラットフォームへ簡単に接続 するために、@ebyrn さんのtwitter- titaniumをforkして作りました• jsOAuth-1.3.3.jsにも多少手を入れて、 ファイルをアップロードできるように なっています
    18. 18. TiPlatformConnect• 各プラットフォームのAPIを薄くラップ しています• 現在サポートしているプラットフォー ムはTwitter、Tumblr、Flickr、Mixi、 Foursquare(他にも募集中!)
    19. 19. TiPlatformConnect• https://github.com/k0sukey/ TiPlatformConnect• 簡単なサンプルもついていますので、 Titanium Studioでインポートすればその ままアプリが動きます(プラット フォームのアプリ登録は忘れずに!)
    20. 20. TwitterでOAuthの例var twitter = require(twitter).Twitter({! consumerKey: XXXXXXXXXXXXXXXXXXXX,! consumerSecret: XXXXXXXXXXXXXXXXXXXX,! accessTokenKey: Ti.App.Properties.getString(twitterAccessTokenKey, ),! accessTokenSecret: Ti.App.Properties.getString(twitterAccessTokenSecret, )});twitter.addEventListener(login, function(e){! if (e.success) {! ! Ti.App.Properties.setString(twitterAccessTokenKey, e.accessTokenKey);! ! Ti.App.Properties.setString(twitterAccessTokenSecret, e.accessTokenSecret);! ! twitter.request(1/account/verify_credentials.json, {}, {}, GET, function(e){! ! ! if (e.success) {! ! ! ! var json = JSON.parse(e.result.text);! ! ! ! twitterLabel.setText(json.screen_name + on Twitter);! ! ! ! twitterRow.add(twitterSwitch);! ! ! ! twitterRow.touchEnabled = false;! ! ! ! twitterRow.selectionStyle = Ti.UI.iPhone.TableViewCellSelectionStyle.NONE;! ! ! ! if (event) {! ! ! ! ! twitterRow.removeEventListener(click, twitterAuthorize);! ! ! ! }! ! ! } else { // error proc... }! ! });! } else { // error proc… }});twitter.authorize();
    21. 21. デモ

    ×