COD2013 Windows Azure Mobile Service を用いたiOS/Android開発
-
Upload
yamamoto-masaki -
Category
Technology
-
view
1.429 -
download
3
description
Transcript of COD2013 Windows Azure Mobile Service を用いたiOS/Android開発
Windows Azure Mobile Service を用いたiOS/Android開発山本 誠樹(Yamamoto Masaki)@nnasaki
自己紹介•山本 誠樹(Yamamoto Masaki)•@nnasaki•↑まさきって呼びます。•大体このIDでやってます。•http://nnasaki.hatenablog.com/
自己紹介2•C# が好き•というかLINQが好き•VB.NETばくはつしろ
本日のターゲット•iOS/Androidデベロッパー•非Windowsの人向け•Visual Studio使いません•Windows 使いません
•Todoアプリを作ります
http://www.windowsazure.com/en-us/develop/mobile/tutorials/get-started-ios/?fb=ja-jp
Windows依存を減らすMicrosoft
http://www.businessinsider.com/chart-of-the-day-microsoft-windows-income-2013-4
Azureの拡大•年間売上高が10億ドルを突破• http://japan.zdnet.com/business-application/
analysis/35031481/
•AWS は18億ドルぐらい• http://jp.reuters.com/article/topNews/
idJPTYE93G03K20130417
Windows Azure Mobile Service
とは?
•モバイル端末向けBaaS(Backend As A Service)
•2012/8/28 開始
http://msdn.microsoft.com/en-us/library/windowsazure/jj554228.aspx
SDK
SQL
OAuth
http://msdn.microsoft.com/en-us/library/windowsazure/jj554228.aspx
•クライアントSDKがマルチプラットフォーム対応!
•サーバー側でロジックを使い分ける必要が無い
•iOSとAndroidのどのバージョンに対応しているの?
•古いバージョンに対応していないと困る(特にAndroid2.3)
•iOS5以降に対応•iOS5より前は3.7%なので問題ないレベル
iOS
http://chitika.com/ios-version-distribution-update
•Android2.2以降に対応•2.2より前は1.8%なので問題ないレベル
Android
http://developer.android.com/about/dashboards/index.html
Android
•クイックスタートアプリは4.2以上対応なんで注意
なぜWindows Azure Mobile Servicesを使う
べきか?
•無料•スキーマレス•認証•プッシュ通知
•無料•スキーマレス•認証•プッシュ通知
http://www.slideshare.net/shosuz/windows-azure-mobile-services-android-i-os-17238153
•SQL データベースは有料•但し無料評価中は1GBまで無料
http://www.windowsazure.com/ja-jp/pricing/details/sql-database/
これから使う人は多分3ヶ月間
無料
•3ヶ月経ったら?•無料期間終わったら?•転送量オーバーしたら?•悪意のある攻撃を受けたら?
え?お金とられるの?やだ怖い
実話•AWSの無料期間にDBサーバーを立ち上げていた•不幸なことに落とすのを忘れていた•無料期間終了と同時に数万円の請求が…
Azureはご安心
ください!!!
閑話休題
•無料•スキーマレス•認証•プッシュ通知
•デフォルトでオン
•4つの型が使用可能
[Windows Azure Mobile Services を使った Android/iOS アプリケーションの構築](http://www.slideshare.net/shosuz/windows-azure-mobile-services-android-i-os-17238153)
•NoSQLではない•SQLが使用可能!
デモ
•無料•スキーマレス•認証•プッシュ通知
•それぞれの違いはこれだけ[client loginWithProvider:@"microsoft" ...][client loginWithProvider:@"facebook" ...][client loginWithProvider:@"twitter" ...][client loginWithProvider:@"google" ...]
デモ
•無料•スキーマレス•認証•プッシュ通知
プッシュ通知とは?
http://www.windowsazure.com/en-us/develop/mobile/tutorials/get-started-with-push-ios/?fb=ja-jp
プッシュはとにかく面倒くさい
https://developer.apple.com/jp/devcenter/ios/library/documentation/RemoteNotificationsPG.pdf
細かいことはどうでもいいから表示したい!
サーバーはこれだけpush.apns.send(item.deviceToken, { alert: "Toast: " + item.text, payload: { inAppMessage: "Hey, a new item arrived: '" + item.text + "'" } });
iOS
push.gcm.send(item.channel, item.text, { success: function(response) { console.log('Push notification sent: ', response); }, error: function(error) { console.log('Error sending push notification: ', error); } });
Android
デモ
ご紹介しきれなかったこと
Windows•ストアアプリやWindows PhoneについてはCodeZineの記事を見ていただくと良いと思います!
http://codezine.jp/article/detail/6890
スケジューラ•サーバースクリプトを定期実行(cron)できる•無料の場合15分に1回まで等の制限がある
http://www.windowsazure.com/ja-jp/pricing/details/mobile-services/
監視
監視•利用状況をモニタリングすることが可能•無料では利用できない
http://www.windowsazure.com/en-us/manage/services/web-sites/how-to-monitor-websites/?fb=ja-jp#webendpointstatus
スケール•占有インスタンスに変更可能だが、現在はS(1コア)のみ•将来的にはWebサイト同等のL(4コア)やインスタンス数を増やせるようになると思われる
ログ•サーバー側でConsole.log(“string”);で出力可能•ポータルにて確認可能•Webサイトの場合 tail -f が出来るので同等になって欲しい
コマンドラインツール
•ポータル以外からコマンドで操作できる•Macの場合のインストール方法blogに書きました
http://nnasaki.hatenablog.com/entry/2013/05/02/005951
デバッグ•サーバースクリプトはPrintデバッグしか無い•ローカルのnode.jsでも実行できないかな~?
デプロイ•サーバースクリプトはポータルにて直接編集できるがバージョン管理されない•コマンドラインツールとJenkinsを組み合わせれば出来なくも無い•WebサイトではGithubやDropbox連携が出来るので同等になってほしいところ
テスト自動化•サーバー側はリクエストのイベントドリブンなので難しい•クライアントSDKにモックが無いので自分で何とかする必要がある
サーバースクリプト•node.jsだが使えるモジュールは制限されている•使用できるモジュールは以下参照
http://www.windowsazure.com/en-us/develop/mobile/how-to-guides/work-with-server-scripts/#modules-helper-
functions
今後もBlogにて最新情報をお届けします。
•nnasaki.hatenablog.com
ご静聴ありがとうございました