Upload
ch3cooh-393
View
4.266
Download
3
Embed Size (px)
DESCRIPTION
スマートフォン勉強会(すまべん)#2 でお披露目しました。
Citation preview
Windows Mobile とWebAPI
CH3COOH(酢酸)
自己紹介
• CH3COOH(酢酸)です
• ハンドルネームの由来
– 本名候補で選外になった「作太郎」が元ネタ
– ネットでは「さく」で活動していましたが、
皆が「さくさん」と呼ぶので「CH3COOH」に改名
– 呼びにくいと怒られて「(酢酸)」を追加してみた
• 使ってるメインスマートフォン
– EMONSTER(S11HT)一筋です。
– 最近Androidが動くようになりました^q^
少し質問です
• WebAPIを触ったことありますか?
WebAPIについて検索してみた
• なかなか解説がない……
• インターネット越しのソフトウェアを利用する形態をWebAPIと呼びます
WebAPIってどんなのがあるの?
• 日本国内のWebAPIをざっくりと調べてみた
• 海外のWebAPIは programmableweb.comで調べると便利かもしれませんよ
Yahoo!検索Yahoo!カテゴリ
Yahoo!オークションYahoo!ミュージックYahoo!地図情報
Yahoo!ウィジェット楽天商品検索API
楽天ジャンル検索API
楽天商品コード検索API楽天書籍検索API楽天CD検索API楽天DVD検索API
楽天カタログ検索API楽天トラベル施設情報API
楽天トラベル空室検索API楽天トラベル地区コードAPIじゃらんWebサービスじゃらん宿表示APIエリア検索API温泉検索API
価格.com WEBサービス価格.com
食べログ.com4travel.jp
カーセンサーラボ.net
メーカーリスト
中古車検索
カタログ検索
マッシュアップコンテスト
2006 RECRUIT物件検索API
フォト蔵API(β版)
ホットペッパーサービス
イースト辞書SimpleAPI
はてなウェブサービス
人力検索はてな
はてなアンテナ
はてなブックマーク
はてなダイアリー
はてなフォトライフ
はてなグループ
はてな検索
はてなexist APIAuto-Discovery
Hatena XML Namespace
etcetc…
WebAPIを超簡単に説明してみます
「『すまべんを』含むWebサイトを検索してください」とリクエスト(要求)を送ります
http://smartphone01... http://smartphone02...
ですよと、レスポンス(応答)を返します
データ
データ
コンテンツ
提供
サーバ
データ
実際にWebAPI使ってみよう
• さて、実際にWebAPIを使ってみましょう
• 今日は下記の形式を覚えて帰って下さいね
–REST
–Atom API
REST
• 通信プロトコルを定義したものですが、同じRESTでも意味が異なる場合があります– FieldingのREST原則に従う「RESTful」なWebサービスシステム
– 簡易な XML+HTTP インターフェイスを採用した
システム
• ここでは後者の意味でREST形式のWebAPIを紹介します
DEMO1
• DEMO…
• クエリ文字列は「?」で始まり、名前=値を「&」で連結
したものです。WebAPIのURLの末尾に付与します
Yahoo!検索 APIを使ってみました(REST形式)
http://search.yahooapis.jp/
WebSearchService/V1/webSearch?
appid=V7yofucvaUq1zaYm
uN23p14-&query=すまべん
Atom API
• Atomとは以下の幾つかの仕様の総称– コンテンツを配信する為のXMLフォーマット
– コンテンツの編集する為の通信プロトコル
• 仕様標準化組織のIETFに移管された後はAtomPubと呼ばれています
• ここではBlogへの投稿や、コンテンツの編集を行う通信プロトコルのお話しです
DEMO2
• DEMO…
• Base64でエンコードした画像データを含んだリクエスト用XMLを送信することでUploadが出来ます
はてなfotolife APIを使ってみました(AtomAPI形式)
ここまでのまとめ
WebAPIは難しくない
WebAPIには形式がいくつかあるが基本はリクエストとレスポンス
WebAPIとはネット越しのWebサイトのサービスを利用すること
ここから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!!
• ご清聴有難うございました