Windows MobileとWeb Api

Kenji Wada
Kenji WadaSoftware Developer
Windows Mobile と WebAPI
           CH3COOH(酢酸)
自己紹介
• CH3COOH(酢酸)です
• ハンドルネームの由来
 – 本名候補で選外になった「作太郎」が元ネタ
 – ネットでは「さく」で活動していましたが、
   皆が「さくさん」と呼ぶので「CH3COOH」に改名
 – 呼びにくいと怒られて「(酢酸)」を追加してみた
• 使ってるメインスマートフォン
 – EMONSTER(S11HT)一筋です。
 – 最近Androidが動くようになりました^q^
少し質問です


• WebAPIを触ったことありますか?
WebAPIについて検索してみた




• なかなか解説がない……
• インターネット越しのソフトウェアを
  利用する形態をWebAPIと呼びます
WebAPIってどんなのがあるの?
 • 日本国内のWebAPIをざっくりと調べてみた
                                                       はてなウェブサービス
    Yahoo!検索      楽天カタログ検索API                            人力検索はてな
  Yahoo!カテゴリ    楽天トラベル施設情報API       カーセンサーラボ.net          はてなアンテナ
 Yahoo!オークション   楽天トラベル空室検索API         メーカーリスト           はてなブックマーク
 Yahoo!ミュージック   楽天トラベル地区コードAPI         中古車検索             はてなダイアリー
  Yahoo!地図情報      じゃらんWebサービス         カタログ検索             はてなフォトライフ
 Yahoo!ウィジェット      じゃらん宿表示API      マッシュアップコンテスト           はてなグループ
                                     2006 RECRUIT
 楽天商品検索API          エリア検索API                               はてな検索
                                                         はてなexist API
楽天ジャンル検索API          温泉検索API          物件検索API
                 価格.com WEBサービス                          Auto-Discovery
楽天商品コード検索API                         フォト蔵API(β版)
                                                     Hatena XML Namespace
 楽天書籍検索API            価格.com       ホットペッパーサービス
  楽天CD検索API         食べログ.com       イースト辞書SimpleAPI
                      4travel.jp
                                                           etcetc…
 楽天DVD検索API



 • 海外のWebAPIは programmableweb.com
   で調べると便利かもしれませんよ
WebAPIを超簡単に説明してみます

「『すまべんを』含むWebサイトを検索してください」
      とリクエスト(要求)を送ります
                                       データ


                               コンテンツ
                                         データ
                                提供
                                サーバ


      http://smartphone01...           データ
      http://smartphone02...
   ですよと、レスポンス(応答)を返します
実際にWebAPI使ってみよう
• さて、実際にWebAPIを使ってみましょう
• 今日は下記の形式を覚えて帰って下さいね
 – REST
 – Atom API
REST
• 通信プロトコルを定義したものですが、
  同じRESTでも意味が異なる場合があります
 – FieldingのREST原則に従う「RESTful」なWeb
   サービスシステム
 – 簡易な XML+HTTP インターフェイスを採用した
   システム


• ここでは後者の意味で
  REST形式のWebAPIを紹介します
DEMO1

• DEMO…
Yahoo!検索 APIを使ってみました
        (REST形式)
                 http://search.yahooapis.jp/
              WebSearchService/V1/webSearch?
                 appid=V7yofucvaUq1zaYm
                 uN23p14-&query=すまべん




• クエリ文字列は「?」で始まり、名前=値を「&」で連結
 したものです。WebAPIのURLの末尾に付与します
Atom API
• Atomとは以下の幾つかの仕様の総称
 – コンテンツを配信する為のXMLフォーマット
 – コンテンツの編集する為の通信プロトコル


• 仕様標準化組織のIETFに移管された後は
  AtomPubと呼ばれています
• ここではBlogへの投稿や、コンテンツの編集
  を行う通信プロトコルのお話しです
DEMO2

• DEMO…
はてなfotolife APIを使ってみました
      (AtomAPI形式)




• Base64でエンコードした画像データを含んだ
  リクエスト用XMLを送信することでUploadが
  出来ます
ここまでのまとめ

   WebAPIとはネット越しの
Webサイトのサービスを利用すること
WebAPIには形式がいくつかあるが
  基本はリクエストとレスポンス

  WebAPIは難しくない
ここからWindows Mobileのお話
• Windows Mobileには.NET CF(
  Compact Framework)が搭載されています
• CFアプリの利点
 – ASP.NET Web Serviceを利用する事が可能
 – 複雑なコーディング無しで普通のクラスのメソッド
   を呼ぶ感覚で、WebAPIを使う事が出来ます
ASP.NET Web Serviceの使い方
• Web参照を追加します




• 呼び元
 – Dim service As New SearchService()
   Dim result = service.Search(“すまべん”)
Windows MobileとWeb Service
• 僕はC#よりVB.NET派です
 – 今までリリースしているWM用アプリは
   VB.NETで書いてます.
• Web ServiceはVBで書く事が可能です
• 同じコードが動くのならばCFアプリの
  コードをWeb Serviceに移植可能では?
 – CF→ASP.NETは難しいかもしれない
 – ASP.NET→CF なら殆ど大丈夫です
疑問
• しかしCFとWeb Serviceはどっちの方が
  処理が早いんでしょうか…?
Windows Mobile VS Web Service
• 0~2000個の素数を求めるのに掛る時間を
  求めてみようと思います
• 素数は1と自分の数でしか割ることの出来な
  い孤独な数字で、私に勇気を与えてくれます

• さて、計測した環境は下記の通り
 – 端末はEMONSTER
 – 回線は3G接続と無線LAN
 – ASP.NETサーバはActiveWeb(1G-共有)
さっそく試してみました
戦いの結果…
•   通信速度、端末やWindows Serverの性能、アルゴリズム等、
    様々な要素に依存するので一概に言えませんが (……と前書きしておいて)


• CFで処理させるよりもWeb Serviceを
  使った方が早いケース事が判りました
• ただ通信には電波を飛ばす必要があり、
  その分バッテリーの消費も早いです
• Web Serviceを簡単使えるので
  適所適材を考え、お互いのメリットを
  活かせば魅力的なアプリを作る事ができるかも
本セッションのまとめ

世界にはWebAPIがいっぱいある
無ければ自分で作れば良いよ!
いつでもどこでもネットと繋がっている
スマートフォンと非常に相性が良い!
WebAPIは簡単に扱う事ができる
    さぁ、触ってみよう!
最後に


• Let's Enjoy WebAPI!
最後に


• Let‘s Enjoy WebAPI!
        ...with Smart Phone!!

• ご清聴有難うございました
1 sur 24

Recommandé

【13-B-3】 企業システムをマッシュアップ型に変えるには par
【13-B-3】 企業システムをマッシュアップ型に変えるには【13-B-3】 企業システムをマッシュアップ型に変えるには
【13-B-3】 企業システムをマッシュアップ型に変えるにはdevsumi2009
933 vues20 diapositives
ウェブ開発の次なる主戦場、Open Social par
ウェブ開発の次なる主戦場、Open Socialウェブ開発の次なる主戦場、Open Social
ウェブ開発の次なる主戦場、Open SocialFITEA
1.4K vues69 diapositives
WebDAV as Web API par
WebDAV as Web APIWebDAV as Web API
WebDAV as Web APIMasaki Komagata
3.3K vues32 diapositives
RDF and FOAF par
RDF and FOAFRDF and FOAF
RDF and FOAFMasaki Komagata
1.6K vues28 diapositives
What is PHP Frameworks? par
What is PHP Frameworks?What is PHP Frameworks?
What is PHP Frameworks?Masaki Komagata
1.2K vues16 diapositives
数年後のWEB標準標準 par
数年後のWEB標準標準数年後のWEB標準標準
数年後のWEB標準標準sato165 @delab
721 vues14 diapositives

Contenu connexe

Tendances

Ubuntu オススメ・アプリケーション par
Ubuntu オススメ・アプリケーションUbuntu オススメ・アプリケーション
Ubuntu オススメ・アプリケーションubon
5.6K vues77 diapositives
SocialWeb勉強会 Vol.1 par
SocialWeb勉強会 Vol.1SocialWeb勉強会 Vol.1
SocialWeb勉強会 Vol.1Eiji Kitamura
1.3K vues48 diapositives
HTML par
HTMLHTML
HTMLbill zhong
679 vues30 diapositives
Howtousenetboss par
HowtousenetbossHowtousenetboss
Howtousenetbosskumee
270 vues10 diapositives
Web技術勉強会10回目(Slideshare用) par
Web技術勉強会10回目(Slideshare用)Web技術勉強会10回目(Slideshare用)
Web技術勉強会10回目(Slideshare用)龍一 田中
760 vues9 diapositives
モバイルでIRCを活用する with EbIRC par
モバイルでIRCを活用する with EbIRCモバイルでIRCを活用する with EbIRC
モバイルでIRCを活用する with EbIRCShin Ise
1.3K vues24 diapositives

Tendances(20)

Ubuntu オススメ・アプリケーション par ubon
Ubuntu オススメ・アプリケーションUbuntu オススメ・アプリケーション
Ubuntu オススメ・アプリケーション
ubon5.6K vues
Howtousenetboss par kumee
HowtousenetbossHowtousenetboss
Howtousenetboss
kumee270 vues
Web技術勉強会10回目(Slideshare用) par 龍一 田中
Web技術勉強会10回目(Slideshare用)Web技術勉強会10回目(Slideshare用)
Web技術勉強会10回目(Slideshare用)
龍一 田中760 vues
モバイルでIRCを活用する with EbIRC par Shin Ise
モバイルでIRCを活用する with EbIRCモバイルでIRCを活用する with EbIRC
モバイルでIRCを活用する with EbIRC
Shin Ise1.3K vues
OSC2009KYOTO Asterisk User\'s Group Japan par Kenichi 深海
OSC2009KYOTO Asterisk User\'s Group JapanOSC2009KYOTO Asterisk User\'s Group Japan
OSC2009KYOTO Asterisk User\'s Group Japan
Kenichi 深海750 vues
HCCソフト会社紹介 par ssusercbaf23
HCCソフト会社紹介HCCソフト会社紹介
HCCソフト会社紹介
ssusercbaf231.4K vues
NIMS eSciDoc: A Subject Repository in Materials Science and Its Applications ... par Masao Takaku
NIMS eSciDoc: A Subject Repository in Materials Science and Its Applications ...NIMS eSciDoc: A Subject Repository in Materials Science and Its Applications ...
NIMS eSciDoc: A Subject Repository in Materials Science and Its Applications ...
Masao Takaku856 vues
OpenSocial Panel Discussion (デブサミ2009) par Yusuke Kawasaki
OpenSocial Panel Discussion (デブサミ2009)OpenSocial Panel Discussion (デブサミ2009)
OpenSocial Panel Discussion (デブサミ2009)
Yusuke Kawasaki1.9K vues
Google Androidの現在と近未来 ~マッシュアップにより変革するもの~ par shimay
Google Androidの現在と近未来 ~マッシュアップにより変革するもの~Google Androidの現在と近未来 ~マッシュアップにより変革するもの~
Google Androidの現在と近未来 ~マッシュアップにより変革するもの~
shimay942 vues
Web技術勉強会 第18回 par 龍一 田中
Web技術勉強会 第18回Web技術勉強会 第18回
Web技術勉強会 第18回
龍一 田中1.8K vues
TracWysiwygPlugin par Jun Omae
TracWysiwygPluginTracWysiwygPlugin
TracWysiwygPlugin
Jun Omae686 vues
山行記録共有データベース「ヤマレコ」 par Kazumine Matoba
山行記録共有データベース「ヤマレコ」山行記録共有データベース「ヤマレコ」
山行記録共有データベース「ヤマレコ」
Kazumine Matoba21.9K vues

En vedette

Railsから学ぶRESTfulなuri設計 par
Railsから学ぶRESTfulなuri設計Railsから学ぶRESTfulなuri設計
Railsから学ぶRESTfulなuri設計Kanako Kobayashi
2.7K vues15 diapositives
RESTfulとは par
RESTfulとはRESTfulとは
RESTfulとは星影 月夜
110.2K vues53 diapositives
Rest ful api設計入門 par
Rest ful api設計入門Rest ful api設計入門
Rest ful api設計入門Monstar Lab Inc.
73.8K vues36 diapositives
UKPVC 2010 Stefanie Rief - mcs presentation par
UKPVC 2010 Stefanie Rief -    mcs presentationUKPVC 2010 Stefanie Rief -    mcs presentation
UKPVC 2010 Stefanie Rief - mcs presentationPaul van der Linden
692 vues13 diapositives
Love Learning - A content marketing approach to learning at work par
Love Learning - A content marketing approach to learning at workLove Learning - A content marketing approach to learning at work
Love Learning - A content marketing approach to learning at workSam Burrough
702 vues34 diapositives
The Finnish Law on Forced Integration of Patient Records par
The Finnish Law on Forced Integration of Patient RecordsThe Finnish Law on Forced Integration of Patient Records
The Finnish Law on Forced Integration of Patient RecordsPlan de Calidad para el SNS
409 vues12 diapositives

En vedette(20)

Railsから学ぶRESTfulなuri設計 par Kanako Kobayashi
Railsから学ぶRESTfulなuri設計Railsから学ぶRESTfulなuri設計
Railsから学ぶRESTfulなuri設計
Kanako Kobayashi2.7K vues
Love Learning - A content marketing approach to learning at work par Sam Burrough
Love Learning - A content marketing approach to learning at workLove Learning - A content marketing approach to learning at work
Love Learning - A content marketing approach to learning at work
Sam Burrough702 vues
E-Portfolio in the NZ School Sector par Paul Seiler
E-Portfolio in the NZ School SectorE-Portfolio in the NZ School Sector
E-Portfolio in the NZ School Sector
Paul Seiler708 vues
Identity managemnt in NZ schools par Paul Seiler
Identity managemnt in NZ schoolsIdentity managemnt in NZ schools
Identity managemnt in NZ schools
Paul Seiler375 vues
Marli Mesibov - What's in a Story? par WebExpo
Marli Mesibov - What's in a Story?Marli Mesibov - What's in a Story?
Marli Mesibov - What's in a Story?
WebExpo1.2K vues
Roques fantàstiques par itraver
Roques fantàstiquesRoques fantàstiques
Roques fantàstiques
itraver269 vues
Military Coaching Transcript par Tom Floyd
Military Coaching TranscriptMilitary Coaching Transcript
Military Coaching Transcript
Tom Floyd1.2K vues
What is this MLE all about? par Paul Seiler
What is this MLE all about?What is this MLE all about?
What is this MLE all about?
Paul Seiler503 vues
Uptown Media Group 2010 par lovedbyaviv
Uptown Media Group 2010Uptown Media Group 2010
Uptown Media Group 2010
lovedbyaviv352 vues
Hybrid Civil Society: How New and Historic Networks Collaborate for Change par Mer Joyce
Hybrid Civil Society: How New and Historic Networks Collaborate for ChangeHybrid Civil Society: How New and Historic Networks Collaborate for Change
Hybrid Civil Society: How New and Historic Networks Collaborate for Change
Mer Joyce1.3K vues
Successful Technology Implementations Transcript par Tom Floyd
Successful Technology Implementations TranscriptSuccessful Technology Implementations Transcript
Successful Technology Implementations Transcript
Tom Floyd580 vues
20111204 WebBroser Control Tips for Windows Phone par Kenji Wada
20111204 WebBroser Control Tips for Windows Phone20111204 WebBroser Control Tips for Windows Phone
20111204 WebBroser Control Tips for Windows Phone
Kenji Wada1.4K vues

Plus de Kenji Wada

20110609 windows phone 搭載のセンサーを活用しよう! par
20110609 windows phone 搭載のセンサーを活用しよう!20110609 windows phone 搭載のセンサーを活用しよう!
20110609 windows phone 搭載のセンサーを活用しよう!Kenji Wada
607 vues17 diapositives
20100703 Windows Phone (Mobile) で作るグラデーションボタン par
20100703 Windows Phone (Mobile) で作るグラデーションボタン20100703 Windows Phone (Mobile) で作るグラデーションボタン
20100703 Windows Phone (Mobile) で作るグラデーションボタンKenji Wada
479 vues20 diapositives
20100717 Windows Phone で作るグラデーションボタン par
20100717 Windows Phone で作るグラデーションボタン20100717 Windows Phone で作るグラデーションボタン
20100717 Windows Phone で作るグラデーションボタンKenji Wada
488 vues21 diapositives
20100515 ときとーがTwitterクライアントを紹介するよ! par
20100515 ときとーがTwitterクライアントを紹介するよ!20100515 ときとーがTwitterクライアントを紹介するよ!
20100515 ときとーがTwitterクライアントを紹介するよ!Kenji Wada
612 vues65 diapositives
20110211 Bing Maps ControlからWindows Phone 7を楽しもう! par
20110211 Bing Maps ControlからWindows Phone 7を楽しもう!20110211 Bing Maps ControlからWindows Phone 7を楽しもう!
20110211 Bing Maps ControlからWindows Phone 7を楽しもう!Kenji Wada
968 vues38 diapositives
20110212 Silverlight から Bing Maps に触れる par
20110212 Silverlight から Bing Maps に触れる20110212 Silverlight から Bing Maps に触れる
20110212 Silverlight から Bing Maps に触れるKenji Wada
1.1K vues76 diapositives

Plus de Kenji Wada(13)

20110609 windows phone 搭載のセンサーを活用しよう! par Kenji Wada
20110609 windows phone 搭載のセンサーを活用しよう!20110609 windows phone 搭載のセンサーを活用しよう!
20110609 windows phone 搭載のセンサーを活用しよう!
Kenji Wada607 vues
20100703 Windows Phone (Mobile) で作るグラデーションボタン par Kenji Wada
20100703 Windows Phone (Mobile) で作るグラデーションボタン20100703 Windows Phone (Mobile) で作るグラデーションボタン
20100703 Windows Phone (Mobile) で作るグラデーションボタン
Kenji Wada479 vues
20100717 Windows Phone で作るグラデーションボタン par Kenji Wada
20100717 Windows Phone で作るグラデーションボタン20100717 Windows Phone で作るグラデーションボタン
20100717 Windows Phone で作るグラデーションボタン
Kenji Wada488 vues
20100515 ときとーがTwitterクライアントを紹介するよ! par Kenji Wada
20100515 ときとーがTwitterクライアントを紹介するよ!20100515 ときとーがTwitterクライアントを紹介するよ!
20100515 ときとーがTwitterクライアントを紹介するよ!
Kenji Wada612 vues
20110211 Bing Maps ControlからWindows Phone 7を楽しもう! par Kenji Wada
20110211 Bing Maps ControlからWindows Phone 7を楽しもう!20110211 Bing Maps ControlからWindows Phone 7を楽しもう!
20110211 Bing Maps ControlからWindows Phone 7を楽しもう!
Kenji Wada968 vues
20110212 Silverlight から Bing Maps に触れる par Kenji Wada
20110212 Silverlight から Bing Maps に触れる20110212 Silverlight から Bing Maps に触れる
20110212 Silverlight から Bing Maps に触れる
Kenji Wada1.1K vues
Windows Phone 7 についてGdgd話すよ par Kenji Wada
Windows Phone 7 についてGdgd話すよWindows Phone 7 についてGdgd話すよ
Windows Phone 7 についてGdgd話すよ
Kenji Wada451 vues
Windows PhoneについてGdgd話すよ Rev 2 par Kenji Wada
Windows PhoneについてGdgd話すよ Rev 2Windows PhoneについてGdgd話すよ Rev 2
Windows PhoneについてGdgd話すよ Rev 2
Kenji Wada926 vues
Windows PhoneについてGdgd話すよ par Kenji Wada
Windows PhoneについてGdgd話すよWindows PhoneについてGdgd話すよ
Windows PhoneについてGdgd話すよ
Kenji Wada704 vues
Windows Mobileからのお手軽デバイス利用術 par Kenji Wada
Windows Mobileからのお手軽デバイス利用術Windows Mobileからのお手軽デバイス利用術
Windows Mobileからのお手軽デバイス利用術
Kenji Wada1.1K vues
今更Web Apiにハマりました par Kenji Wada
今更Web Apiにハマりました今更Web Apiにハマりました
今更Web Apiにハマりました
Kenji Wada2.1K vues
Windows Mobile de Hello World par Kenji Wada
Windows Mobile de Hello World Windows Mobile de Hello World
Windows Mobile de Hello World
Kenji Wada430 vues
Design Wave Magazine 2008年5月号附録基板を使った お手軽加速度センサプログラミング par Kenji Wada
Design Wave Magazine 2008年5月号附録基板を使った お手軽加速度センサプログラミングDesign Wave Magazine 2008年5月号附録基板を使った お手軽加速度センサプログラミング
Design Wave Magazine 2008年5月号附録基板を使った お手軽加速度センサプログラミング
Kenji Wada618 vues

Windows MobileとWeb Api