mbaas x iot
TRANSCRIPT
mBaaS x IoTIoTあるじゃん勉強会第二回
tinkerlog - https://www.flickr.com/photos/8123185@N02/5191334951/in/photolist-8UJX22-7mfhgf-7mbp2T-7mbocr-8Y7FaQ-8Y7P95-8Y7TfS-8Y4z2z-8Y4Lz8-8Y7Lvj-8Y7ByY-8Y7PXQ-8Y7SSQ-8Y4EAH-8Y4Eeg-8Y4Ri2-8Y7TuW-8Y4Jha-8Y4Kqi-8Y7C9Y-8Y7Nwb-8Y7HCC-8Y7EeN-8Y4Rp4-8Y4Ati-8Y7Eww-8Y4R2Z-8Y4J2i-8Y7LoN-8Y4QV4-8Y7CGW-8Y4GSK-8Y7Dpw-8Y7VDQ-8Y7HYb-8Y7PzS-8Y4KDt-8Y7VrU-8Y4KxH-8Y4FY4-8Y4SaM-8Y4zk2-8Y7T2E-8Y4SSt-8Y7Pn7-8Y4RJH-8Y7KhE-8Y4PpX-8Y7UjQ-8Y7ULS
自己紹介
• 小室啓(KOMURO, Hiraku)
• クラスメソッド株式会社iPhoneアプリサービス事業部札幌チームリーダー
• Android, サーバーサイド(Java), parse.com
Love JVM言語
• キャリアが一番長いのがJava
• 好きだけど全く使いこなせてないのがScala
• Gradleで身近なGroovy
• 最近個人的に熱いKotlin
Kotlin for Android
http://dev.classmethod.jp/series/alternativejava-for-android/
埼玉県
• 生まれ、育ちは埼玉県
• テレ玉
• 札幌に来て半年
• 高崎線沿線
今回の領域
ここらへん
ご項目
• いまどきのモバイルアプリ開発
• mBaaSとParseの概要
• IoTなどの技術によって変わるモバイルアプリ側の話
mBaaS is 何
その前に現在の モバイルアプリケーション
開発
モバイル中心から サービス中心へ
バックエンド必須
今どき単体で完結する モバイルアプリはあまりない
(ゲームを除く)
モバイルアプリとサービスを つなぐ上で必要なもの
• Push通知
• APIサーバーのプログラムと稼働させるアプリケーションサーバー
• DBストレージと稼働させるDBサーバー
• キャッシュを管理する高速なオンメモリデータストア
• 画像やらメディアを保存・管理するストレージサーバー
• 負荷分散のロードバランサ
• モバイルアナリティクス(クラッシュレポートとか)
• 認証基盤(OAuth2, OpenIDなど)
モバイル用のバックエンドで組み合わせる部品たち
これを全部モバイルアプリ開発者がやれと?
mBaaS is 何
mobile Backend as a Service
モバイル/サービスの開発を 支援してくれる
• モバイルアプリに特化したバックエンドを丸ごと提供してくれるサービス
• 必要な機能を面倒な設定なしに、全て提供してくれる
• 代表的なものは、Parse.com, Kii Cloud, Nifty Cloud
• 後者2つは国産
やりたいこと
mBaaSがやってくれること
サービス比較データストア
バックエンド拡張 IoTサポート Analytics
parse.com ◯ ◯ △ ◯
Kii Cloud ◯ △ △ ◯
Nifty Cloud ◯ ☓ △ ?
parse.com
parse.com• Facebook傘下のmBaaSサービス
• 豊富なSDK(iOS, Android, WP, Xamarin, OSX, Windows, Unity, JavaScript, PHP, Embed)
• バックエンドが自由に拡張可能(node.js, backbone style)
• IoT EditionのSDKをリリース(New!)
• Arduino, Raspberry PI 2をサポート(C言語ベース)
• 個人的に一番Coolだと思う。
Apple Watch with parse.com
多種多様なクライアントが接続できるバックエンドサービスを構築できる。
使い方
Dashboard
Create a New App
Define Data Class
mBaaS x IoT
Parse SDK IoT Edition
仮想世界の結果を現実世界へ
• IoTでは多量のセンサー情報を取得し、それらを解析、ユーザーに対して何らかのサービスを提供する(のが目的だと思ってる)
• 解析結果からどんな情報を送るかはわからないけど、ユーザーに届ける必要がある
InputからStoreまで• インフラ部分がWebサービスで提供されるため、初期運用コストやスケールに伴う改修などが不要に
• BLE, MQTTなどの軽量プロトコル、ハードウェアの進化でネットワークを通して通信が可能に
• ツールの進化によってハードウェアプロトタイプの敷居が下がった
データを解析して新たな価値を生むことが中心に。
新たな価値をユーザーに届けるために、 モバイルを利用する。
モバイルはよりUXを重視する方向へ。 巨大サービスが提供する価値ある情報のIFとしての役割。
IoT時代の Application UI
Mobile
• Mobile端末は、ユーザーにとって最もパーソナルな情報を扱っている
• 膨大なセンサーを搭載しているため、Mobile端末自身がインプットであり、ユーザーに直接影響を与えられるアウトプットでもある
モバイルアプリケーションの 存在意義の変化
• 様々な情報がネットワークを介して巨大なプラットフォームに集約される
• ユーザーのニーズを先読みしてサービスを提供する(Google NowやAmazonのRecommendなど)
• ユーザーが意識してアプリを利用することがなくなる(ユーザーが意識した時にはすでにサービスは提供されているべきなので)
新たなUXを実現するためのUI
• アプリケーションを立ち上げるという動作がなくなる
• ユーザーの普段の行動や意識の中に「不快に感じることなく」介入するという技術が必要になる
Push通知• ユーザーが意識して動作させずに情報を送ることが出来る
• ユーザーの行動や意識に強制的に介入できる(ただし、サービス側のエゴでユーザーが見たくもない広告が乱発されてるため、忌避の対象になってる面もある)
Data AnalyticsBig Data
ウェアラブル端末は ただのブームではない
アプリケーション開発者はより振れ幅の大きな意識の変化が必要になる?
おすすめ書籍
• http://www.amazon.co.jp/%E3%82%A2%E3%83%83%E3%83%97%E3%83%AB%E3%80%81%E3%82%B0%E3%83%BC%E3%82%B0%E3%83%AB%E3%81%8C%E7%A5%9E%E3%81%AB%E3%81%AA%E3%82%8B%E6%97%A5-%E3%83%8F%E3%83%BC%E3%83%89%E3%82%A6%E3%82%A7%E3%82%A2%E3%81%AF%E3%81%AA%E3%81%9C%E3%82%B4%E3%83%9F%E3%81%AA%E3%81%AE%E3%81%8B%EF%BC%9F-%E5%85%89%E6%96%87%E7%A4%BE%E6%96%B0%E6%9B%B8-%E4%B8%8A%E5%8E%9F-%E6%98%AD%E5%AE%8F/dp/4334038522
• 「アップル、グーグルが神になる日 ハードウェアはなぜゴミなのか?」
• 言いたいことが、大体全部書いてありました。
まとめ
• 今後mBaaSのようにバックエンドをサービスで提供し、SDKを組み込むだけですぐ使えるサービスは必要になる
• IoTによって、サービスを表示するアプリケーションUIを再考しなければならなくなりそう