SlideShare uma empresa Scribd logo
1 de 54
Baixar para ler offline
1Copylight © Classmethod, Inc.
Parse入門
あなたのモバイル開発を超加速
2Copylight © Classmethod, Inc.
自己紹介
• 小室啓
• クラスメソッドiPhoneアプリ・サービス
事業部
• Androidです!
3Copylight © Classmethod, Inc.
自己紹介
• 小室啓
• クラスメソッドiPhoneアプリ・サービス
事業部
• Androidです!アウェー!
4Copylight © Classmethod, Inc.
アジェンダ
• 紹介
• 入門
• 入門といいながら、速攻で終わるので紹
介多めです
5Copylight © Classmethod, Inc.
モバイルバックエンドの開発?
• モバイルアプリケーションのバックエン
ドの開発は結構面倒。
6Copylight © Classmethod, Inc.
モバイルバックエンドの開発?
• どうやっていますか?
7Copylight © Classmethod, Inc.
何が必要か?
• 用意しなきゃいけないもの
8Copylight © Classmethod, Inc.
物理サーバー
9Copylight © Classmethod, Inc.
Webサーバー
(Apache, nginxとか)
10Copylight © Classmethod, Inc.
DBアクセスなどのロジックとか
11Copylight © Classmethod, Inc.
データストア(RDBMS? File?とか)
12Copylight © Classmethod, Inc.
スケールやらロードバランサやら
とか
13Copylight © Classmethod, Inc.
こんなにある
• ハードウェアの調達とかは面倒ですね。
14Copylight © Classmethod, Inc.
Cloudを使う?
• ご存知の通り、Cloudを使えばハードウェ
アの物理的制約から開放されます。
• さらに外部に公開するための準備なども
手軽に行えます。
15Copylight © Classmethod, Inc.
Google Cloud Platform
Compute Engine
https://cloud.google.com/products/compute-engine/
16Copylight © Classmethod, Inc.
Amazon Web Services
http://aws.amazon.com/jp/
他にも色々ありますが、代表的なところはこんなものでしょう。
例にAWSで作ってみるのを考えてみます
17Copylight © Classmethod, Inc.
AWSでやる?
1. サーバー(EC2?)
2. フロント(CloudFront?)
3. データストア
(RDS?DynamoDB?)
4. ロードバランサ(ELB)
18Copylight © Classmethod, Inc.
AWSでやる?
• 確かにハードウェアの制約などははずれ
ましたが、まだまだ用意しなければなら
ないものが大量にあります。
• あんまり準備する手間は変わらな
い・・・?
• まだまだモバイアプリ開発にとって、本
質的でない作業が大量に含まれています。
19Copylight © Classmethod, Inc.
本質以外のことが多すぎる
• サーバーにデータを保存したりする、モバイ
ル・アプリはDBサーバーとか必須
• Android, iOSのプログラムを書く他に上のこ
とも全てやらなきゃいけない?
• なんでモバイルアプリを開発するのに
– サーバープログラム書いてるんだろ・・・
– URL設定してるんだろ・・・
20Copylight © Classmethod, Inc.
本質以外のことが多すぎる
• サーバーにデータを保存したりする、モバイ
ル・アプリは結局サーバーを全部用意しない
といけません。
• Android、iOSのプログラムを書く他に上の
ことも全てやらなきゃいけない?
• なんでモバイルアプリを開発するのに
• サーバープログラム書いてるんだろ・・・
• URLのルーティングとか設定してるんだ
ろ・・・
21Copylight © Classmethod, Inc.
本質以外のことが多すぎる
• サーバーにデータを保存したりする、モバイ
ル・アプリは結局サーバーを全部用意しない
といけません。
• Android、iOSのプログラムを書く他に上の
ことも全てやらなきゃいけない?
• なんでモバイルアプリを開発するのに
• サーバープログラム書いてるんだろ・・・
• URLのルーティングとか設定してるんだ
ろ・・・
自分はもっとUIやUXなど、ユーザーに触
れるモバイルアプリの本質的なところに工
数をかけたいんだ!
22Copylight © Classmethod, Inc.
Parse
23Copylight © Classmethod, Inc.
Parse
• Parseとは、Parseが提供する【MBaaS】
です。
• 昨年あたりにFacebook社に買収されてま
す。
• ググらビリティが低すぎて開発者泣かせ
24Copylight © Classmethod, Inc.
Parseの特徴
• モバイルのバックエンドを構築する環境を一
手にまとめて提供してくれるサービスです
• Webホスティング
• データストア
• Social連携(Facebook, Twitter)
• Push通知
• REST API
• 各種Native開発用SDKの提供… and etc
25Copylight © Classmethod, Inc.
Parseの特徴
全部まとめてParseが
面倒みてくれます
26Copylight © Classmethod, Inc.
Parseの事例(世界)
27Copylight © Classmethod, Inc.
なぜParseを選択するのか
• MBaaSの世界のにおいて、先駆者的な実
装になってる
– 日本国内のMBaaSには、Nifty Cloudなどが
ありますが、Parseのメソッドと同じ命名規
則になっていたり
– 何かと共通するものが多い
28Copylight © Classmethod, Inc.
多様なSDK
• 各OSのNative開発SDKが提供されている
こと
– iOS, Windows Phone, Android, JS,
Xamarin, Unityなどほぼ主要な言語を網羅し
ています
29Copylight © Classmethod, Inc.
Social連携でのログイン機能を
簡単に実装
Twitter
ログイン
30Copylight © Classmethod, Inc.
強力なPush通知機能
• APNs, GCMなどOSごとのPush通知の仕
様は複雑怪奇な上、あまりにも実装が面
倒
• Amazon SNSなどを利用すればその辺も
面倒みてくれるかも?
31Copylight © Classmethod, Inc.
強力なPush通知機能
32Copylight © Classmethod, Inc.
強力なPush通知機能
33Copylight © Classmethod, Inc.
強力なPush通知機能
• Amazon SNS以上に気軽なコンソールで準
備完了
• 設定項目これだけ。
• GCMは設定をONにするだけ!
34Copylight © Classmethod, Inc.
サーバサイド構築まで
5分かからない
• データの定義さえすれば使える状態なの
で、すぐ使えるよ
• プロジェクト作成、データ定義だけで
REST API経由とかSDKでCRUDできます
35Copylight © Classmethod, Inc.
サーバーサイドの動作も
比較的自由に変更できる
• サーバーサイドプログラミングを少しだけやると、
容易に動作を拡張できます
• プロジェクト作成、データ定義だけで、REST
API経由でCRUDできます
36Copylight © Classmethod, Inc.
サーバーサイドの動作も
比較的自由に変更できる
• サーバーサイドプログラミングを少しだけやると、
容易に動作を拡張できます
• プロジェクト作成、データ定義だけで、REST
API経由でCRUDできます
いちおし!
37Copylight © Classmethod, Inc.
Analytics
• リクエスト数やらPush通知の数とか
色々とカッコいいグラフにして表示し
てくれます
38Copylight © Classmethod, Inc.
ダッシュボードのUIがCool
39Copylight © Classmethod, Inc.
バックエンド機能を拡張
Cloud Code
• バックエンド拡張用のコードはJavaScript
で記述
• SDKを提供
• 簡単なコマンドでdebugからdeployまで
• Backbone Styleを踏襲
• 他JSライブラリの導入が楽
40Copylight © Classmethod, Inc.
Cloud CodeのSDK
• Unix, Linux系OSであればコマンド一発で
SDK導入
curl -s
https://www.parse.com/downloads/cloud_code
/installer.sh | sudo /bin/bash
41Copylight © Classmethod, Inc.
基本コマンド
• 作成したコードをDeploy
• Remoteログを監視
• プロジェクト作成
$ parse deploy
$ parse log -f
$ parse new <AppName>
42Copylight © Classmethod, Inc.
Cloud Codeの特徴
• 各種カスタムFunctionはクロージャで定
義
• データのCRUDの前後(before, after)で
Hookして実行するトリガFunction
• 独自のAPIの口を定義できるカスタム
Function
43Copylight © Classmethod, Inc.
トリガFunction
• 処理を書けばParseが適当なタイミングで
勝手に実行してくれる
44Copylight © Classmethod, Inc.
トリガFunctionサンプル
45Copylight © Classmethod, Inc.
カスタムFunction
• 呼び出し口を提供
• RESTの呼び出しはPOSTのみ
• SDK内からの呼び出しは、専用のメソッ
ドが準備されている
46Copylight © Classmethod, Inc.
カスタムFunctionサンプル
47Copylight © Classmethod, Inc.
Parseのここがよくないよ
• 運営側のFAQがゆるふわ(適当)
質問者「これをやるとこんなエラーが出るんだけど」
運営「これをやれば解決するぜ!」
_人人人人人人人人_
> 解決しない! <
 ̄Y^Y^Y^Y^Y^Y^Y ̄
48Copylight © Classmethod, Inc.
Parseのここがよくないよ
• StackOverflowもゆるふわ
「こんな問題が発生したんだけど、誰か解決方法知らないかい?」
「俺も同じ問題が発生したぜ」「俺も」「俺も」
49Copylight © Classmethod, Inc.
つかってみる
• プロジェクトをつくります!
50Copylight © Classmethod, Inc.
つかってみる
• データを定義します
51Copylight © Classmethod, Inc.
つかってみる
• おわりです!
• あとは、SDKとかREST APIでアクセスす
るだけ
https://api.parse.com/1/classes/<ClassName>
52Copylight © Classmethod, Inc.
つくってます
• Open Othello API
53Copylight © Classmethod, Inc.
まとめ
• ConsoleのUIがかっこいいので使いたくな
る
• モバイル・アプリに必要なサービスが全
てこれで事足りる
• 使いはじめるのは超簡単
• Cloud Code萌え
54Copylight © Classmethod, Inc.
ありがとうございました

Mais conteúdo relacionado

Mais procurados

DMM GAMES 内製チーム PlayCanvas上でのリソース管理
DMM GAMES 内製チーム PlayCanvas上でのリソース管理DMM GAMES 内製チーム PlayCanvas上でのリソース管理
DMM GAMES 内製チーム PlayCanvas上でのリソース管理Seungil Nam
 
Xamarinを企業向けアプリ開発の プラットフォームとして選定し 実際にアプリをリリースした話
Xamarinを企業向けアプリ開発の プラットフォームとして選定し 実際にアプリをリリースした話Xamarinを企業向けアプリ開発の プラットフォームとして選定し 実際にアプリをリリースした話
Xamarinを企業向けアプリ開発の プラットフォームとして選定し 実際にアプリをリリースした話Daisuke Tsutsumi
 
【Halo】スマホアプリ3つの法則 ボケてをアプリ化するときにやったこと121210
【Halo】スマホアプリ3つの法則 ボケてをアプリ化するときにやったこと121210【Halo】スマホアプリ3つの法則 ボケてをアプリ化するときにやったこと121210
【Halo】スマホアプリ3つの法則 ボケてをアプリ化するときにやったこと121210Osamu Ise
 
アプリ開発者が動画広告を導入するときに気にすべきいくつかのこと
アプリ開発者が動画広告を導入するときに気にすべきいくつかのことアプリ開発者が動画広告を導入するときに気にすべきいくつかのこと
アプリ開発者が動画広告を導入するときに気にすべきいくつかのことYasuyuki Kamata
 
Lightning Component公開への道 ~「Multi-View Calendar」開発で分かったこと~
Lightning Component公開への道  ~「Multi-View Calendar」開発で分かったこと~Lightning Component公開への道  ~「Multi-View Calendar」開発で分かったこと~
Lightning Component公開への道 ~「Multi-View Calendar」開発で分かったこと~寛 吉田
 
2015/06/27 Remixing つらくないメディア間連携
2015/06/27 Remixing つらくないメディア間連携2015/06/27 Remixing つらくないメディア間連携
2015/06/27 Remixing つらくないメディア間連携Takumi Yoshida
 
Plone 5 & アクセシビリティ at OSC 2015 Tokyo fall
Plone 5 & アクセシビリティ at OSC 2015 Tokyo fallPlone 5 & アクセシビリティ at OSC 2015 Tokyo fall
Plone 5 & アクセシビリティ at OSC 2015 Tokyo fallManabu Terada
 
SUPER HIGH-TECH UNC で実現する新しい世界
SUPER HIGH-TECH UNC で実現する新しい世界SUPER HIGH-TECH UNC で実現する新しい世界
SUPER HIGH-TECH UNC で実現する新しい世界Satoshi Maemoto
 
Everyplay/UnityAds入門
Everyplay/UnityAds入門Everyplay/UnityAds入門
Everyplay/UnityAds入門Yasuyuki Kamata
 
Windows10時代のクロスプラットフォーム開発
Windows10時代のクロスプラットフォーム開発Windows10時代のクロスプラットフォーム開発
Windows10時代のクロスプラットフォーム開発Kazushi Kamegawa
 
Twitter4Jのプロモーション戦略 - たくさん使ってもらうためにしたこと #jjug_b11
Twitter4Jのプロモーション戦略 - たくさん使ってもらうためにしたこと #jjug_b11Twitter4Jのプロモーション戦略 - たくさん使ってもらうためにしたこと #jjug_b11
Twitter4Jのプロモーション戦略 - たくさん使ってもらうためにしたこと #jjug_b11Yusuke Yamamoto
 
SAPPORO CEDEC 2014 Visual Studio Tools for Unity
SAPPORO CEDEC 2014 Visual Studio Tools for UnitySAPPORO CEDEC 2014 Visual Studio Tools for Unity
SAPPORO CEDEC 2014 Visual Studio Tools for UnityAkira Onishi
 
トラブル発生、その時あなたがすることは?
トラブル発生、その時あなたがすることは?トラブル発生、その時あなたがすることは?
トラブル発生、その時あなたがすることは?Kazushi Kamegawa
 
2015/11/18_【maio】アドフリくん勉強会用資料
2015/11/18_【maio】アドフリくん勉強会用資料2015/11/18_【maio】アドフリくん勉強会用資料
2015/11/18_【maio】アドフリくん勉強会用資料Yuki Hayase
 

Mais procurados (16)

DMM GAMES 内製チーム PlayCanvas上でのリソース管理
DMM GAMES 内製チーム PlayCanvas上でのリソース管理DMM GAMES 内製チーム PlayCanvas上でのリソース管理
DMM GAMES 内製チーム PlayCanvas上でのリソース管理
 
Xamarinを企業向けアプリ開発の プラットフォームとして選定し 実際にアプリをリリースした話
Xamarinを企業向けアプリ開発の プラットフォームとして選定し 実際にアプリをリリースした話Xamarinを企業向けアプリ開発の プラットフォームとして選定し 実際にアプリをリリースした話
Xamarinを企業向けアプリ開発の プラットフォームとして選定し 実際にアプリをリリースした話
 
Redmine導入記
Redmine導入記Redmine導入記
Redmine導入記
 
【Halo】スマホアプリ3つの法則 ボケてをアプリ化するときにやったこと121210
【Halo】スマホアプリ3つの法則 ボケてをアプリ化するときにやったこと121210【Halo】スマホアプリ3つの法則 ボケてをアプリ化するときにやったこと121210
【Halo】スマホアプリ3つの法則 ボケてをアプリ化するときにやったこと121210
 
team シャクネツ
team シャクネツteam シャクネツ
team シャクネツ
 
アプリ開発者が動画広告を導入するときに気にすべきいくつかのこと
アプリ開発者が動画広告を導入するときに気にすべきいくつかのことアプリ開発者が動画広告を導入するときに気にすべきいくつかのこと
アプリ開発者が動画広告を導入するときに気にすべきいくつかのこと
 
Lightning Component公開への道 ~「Multi-View Calendar」開発で分かったこと~
Lightning Component公開への道  ~「Multi-View Calendar」開発で分かったこと~Lightning Component公開への道  ~「Multi-View Calendar」開発で分かったこと~
Lightning Component公開への道 ~「Multi-View Calendar」開発で分かったこと~
 
2015/06/27 Remixing つらくないメディア間連携
2015/06/27 Remixing つらくないメディア間連携2015/06/27 Remixing つらくないメディア間連携
2015/06/27 Remixing つらくないメディア間連携
 
Plone 5 & アクセシビリティ at OSC 2015 Tokyo fall
Plone 5 & アクセシビリティ at OSC 2015 Tokyo fallPlone 5 & アクセシビリティ at OSC 2015 Tokyo fall
Plone 5 & アクセシビリティ at OSC 2015 Tokyo fall
 
SUPER HIGH-TECH UNC で実現する新しい世界
SUPER HIGH-TECH UNC で実現する新しい世界SUPER HIGH-TECH UNC で実現する新しい世界
SUPER HIGH-TECH UNC で実現する新しい世界
 
Everyplay/UnityAds入門
Everyplay/UnityAds入門Everyplay/UnityAds入門
Everyplay/UnityAds入門
 
Windows10時代のクロスプラットフォーム開発
Windows10時代のクロスプラットフォーム開発Windows10時代のクロスプラットフォーム開発
Windows10時代のクロスプラットフォーム開発
 
Twitter4Jのプロモーション戦略 - たくさん使ってもらうためにしたこと #jjug_b11
Twitter4Jのプロモーション戦略 - たくさん使ってもらうためにしたこと #jjug_b11Twitter4Jのプロモーション戦略 - たくさん使ってもらうためにしたこと #jjug_b11
Twitter4Jのプロモーション戦略 - たくさん使ってもらうためにしたこと #jjug_b11
 
SAPPORO CEDEC 2014 Visual Studio Tools for Unity
SAPPORO CEDEC 2014 Visual Studio Tools for UnitySAPPORO CEDEC 2014 Visual Studio Tools for Unity
SAPPORO CEDEC 2014 Visual Studio Tools for Unity
 
トラブル発生、その時あなたがすることは?
トラブル発生、その時あなたがすることは?トラブル発生、その時あなたがすることは?
トラブル発生、その時あなたがすることは?
 
2015/11/18_【maio】アドフリくん勉強会用資料
2015/11/18_【maio】アドフリくん勉強会用資料2015/11/18_【maio】アドフリくん勉強会用資料
2015/11/18_【maio】アドフリくん勉強会用資料
 

Semelhante a 北海道勉強会_20140531

非エンジニアのためのIT勉強会 ハイブリッドフレームワーク
非エンジニアのためのIT勉強会 ハイブリッドフレームワーク非エンジニアのためのIT勉強会 ハイブリッドフレームワーク
非エンジニアのためのIT勉強会 ハイブリッドフレームワークKaz Furukawa
 
これからのNOTESモバイルアプリはこう作れ
これからのNOTESモバイルアプリはこう作れこれからのNOTESモバイルアプリはこう作れ
これからのNOTESモバイルアプリはこう作れMitsuru Katoh
 
ABC2012Spring 20120324
ABC2012Spring 20120324ABC2012Spring 20120324
ABC2012Spring 20120324Tak Inamori
 
Redmineプラグイン導入・開発入門
Redmineプラグイン導入・開発入門Redmineプラグイン導入・開発入門
Redmineプラグイン導入・開発入門Minoru Maeda
 
Sharoid Service Menu
Sharoid Service MenuSharoid Service Menu
Sharoid Service Menusharoid
 
CMS「Joomla!」セミナー2010年11月19日講演1
CMS「Joomla!」セミナー2010年11月19日講演1CMS「Joomla!」セミナー2010年11月19日講演1
CMS「Joomla!」セミナー2010年11月19日講演1Joomla20101119
 
サイネージを使う顧客創出のシナリオ
サイネージを使う顧客創出のシナリオサイネージを使う顧客創出のシナリオ
サイネージを使う顧客創出のシナリオCRI Japan, Inc.
 
AndroidーiOS開発比較〜iOSエンジニアから見たAndroidのアレコレ〜
AndroidーiOS開発比較〜iOSエンジニアから見たAndroidのアレコレ〜AndroidーiOS開発比較〜iOSエンジニアから見たAndroidのアレコレ〜
AndroidーiOS開発比較〜iOSエンジニアから見たAndroidのアレコレ〜Takaaki Tanaka
 
PhoneGapユーザー会@大阪 講演資料
PhoneGapユーザー会@大阪 講演資料PhoneGapユーザー会@大阪 講演資料
PhoneGapユーザー会@大阪 講演資料Monaca
 
モバイルアプリ向けAWSネイティブアーキテクチャ
モバイルアプリ向けAWSネイティブアーキテクチャモバイルアプリ向けAWSネイティブアーキテクチャ
モバイルアプリ向けAWSネイティブアーキテクチャRikitake Oohashi
 
できる!スマホアプリ:Webからはじまるアプリ
できる!スマホアプリ:Webからはじまるアプリできる!スマホアプリ:Webからはじまるアプリ
できる!スマホアプリ:WebからはじまるアプリMasami Yabushita
 
もう怖くないモバイルアプリ開発!【デブサミ関西2014】
もう怖くないモバイルアプリ開発!【デブサミ関西2014】もう怖くないモバイルアプリ開発!【デブサミ関西2014】
もう怖くないモバイルアプリ開発!【デブサミ関西2014】Toshiki Iga
 
能力ファイル 2Tソフトウエアソリューション株式会社
能力ファイル 2Tソフトウエアソリューション株式会社能力ファイル 2Tソフトウエアソリューション株式会社
能力ファイル 2Tソフトウエアソリューション株式会社Brrs Nguyen(2TS)
 
小さく早い改善がスマホのサービス開発を変える
小さく早い改善がスマホのサービス開発を変える小さく早い改善がスマホのサービス開発を変える
小さく早い改善がスマホのサービス開発を変えるHiroto Igarashi
 
Intalio japan special cloud workshop
Intalio japan special cloud workshopIntalio japan special cloud workshop
Intalio japan special cloud workshopDaisuke Sugai
 
エースホームのWeb戦略を実現したサイト構築
エースホームのWeb戦略を実現したサイト構築エースホームのWeb戦略を実現したサイト構築
エースホームのWeb戦略を実現したサイト構築loftwork
 
C#でiPhoneアプリ開発 with MonoTouch
C#でiPhoneアプリ開発 with MonoTouchC#でiPhoneアプリ開発 with MonoTouch
C#でiPhoneアプリ開発 with MonoTouchShin Ise
 
androidのgpsアプリってどうよ|株式会社コンテンツワン
androidのgpsアプリってどうよ|株式会社コンテンツワンandroidのgpsアプリってどうよ|株式会社コンテンツワン
androidのgpsアプリってどうよ|株式会社コンテンツワンKatsuaki Sato
 
第2回ビジネスモバイル研究会
第2回ビジネスモバイル研究会第2回ビジネスモバイル研究会
第2回ビジネスモバイル研究会Shuichi Yukimoto
 

Semelhante a 北海道勉強会_20140531 (20)

非エンジニアのためのIT勉強会 ハイブリッドフレームワーク
非エンジニアのためのIT勉強会 ハイブリッドフレームワーク非エンジニアのためのIT勉強会 ハイブリッドフレームワーク
非エンジニアのためのIT勉強会 ハイブリッドフレームワーク
 
これからのNOTESモバイルアプリはこう作れ
これからのNOTESモバイルアプリはこう作れこれからのNOTESモバイルアプリはこう作れ
これからのNOTESモバイルアプリはこう作れ
 
ABC2012Spring 20120324
ABC2012Spring 20120324ABC2012Spring 20120324
ABC2012Spring 20120324
 
Redmineプラグイン導入・開発入門
Redmineプラグイン導入・開発入門Redmineプラグイン導入・開発入門
Redmineプラグイン導入・開発入門
 
Sharoid Service Menu
Sharoid Service MenuSharoid Service Menu
Sharoid Service Menu
 
CMS「Joomla!」セミナー2010年11月19日講演1
CMS「Joomla!」セミナー2010年11月19日講演1CMS「Joomla!」セミナー2010年11月19日講演1
CMS「Joomla!」セミナー2010年11月19日講演1
 
サイネージを使う顧客創出のシナリオ
サイネージを使う顧客創出のシナリオサイネージを使う顧客創出のシナリオ
サイネージを使う顧客創出のシナリオ
 
AndroidーiOS開発比較〜iOSエンジニアから見たAndroidのアレコレ〜
AndroidーiOS開発比較〜iOSエンジニアから見たAndroidのアレコレ〜AndroidーiOS開発比較〜iOSエンジニアから見たAndroidのアレコレ〜
AndroidーiOS開発比較〜iOSエンジニアから見たAndroidのアレコレ〜
 
PhoneGapユーザー会@大阪 講演資料
PhoneGapユーザー会@大阪 講演資料PhoneGapユーザー会@大阪 講演資料
PhoneGapユーザー会@大阪 講演資料
 
モバイルアプリ向けAWSネイティブアーキテクチャ
モバイルアプリ向けAWSネイティブアーキテクチャモバイルアプリ向けAWSネイティブアーキテクチャ
モバイルアプリ向けAWSネイティブアーキテクチャ
 
できる!スマホアプリ:Webからはじまるアプリ
できる!スマホアプリ:Webからはじまるアプリできる!スマホアプリ:Webからはじまるアプリ
できる!スマホアプリ:Webからはじまるアプリ
 
もう怖くないモバイルアプリ開発!【デブサミ関西2014】
もう怖くないモバイルアプリ開発!【デブサミ関西2014】もう怖くないモバイルアプリ開発!【デブサミ関西2014】
もう怖くないモバイルアプリ開発!【デブサミ関西2014】
 
能力ファイル 2Tソフトウエアソリューション株式会社
能力ファイル 2Tソフトウエアソリューション株式会社能力ファイル 2Tソフトウエアソリューション株式会社
能力ファイル 2Tソフトウエアソリューション株式会社
 
小さく早い改善がスマホのサービス開発を変える
小さく早い改善がスマホのサービス開発を変える小さく早い改善がスマホのサービス開発を変える
小さく早い改善がスマホのサービス開発を変える
 
Intalio japan special cloud workshop
Intalio japan special cloud workshopIntalio japan special cloud workshop
Intalio japan special cloud workshop
 
エースホームのWeb戦略を実現したサイト構築
エースホームのWeb戦略を実現したサイト構築エースホームのWeb戦略を実現したサイト構築
エースホームのWeb戦略を実現したサイト構築
 
C#でiPhoneアプリ開発 with MonoTouch
C#でiPhoneアプリ開発 with MonoTouchC#でiPhoneアプリ開発 with MonoTouch
C#でiPhoneアプリ開発 with MonoTouch
 
androidのgpsアプリってどうよ|株式会社コンテンツワン
androidのgpsアプリってどうよ|株式会社コンテンツワンandroidのgpsアプリってどうよ|株式会社コンテンツワン
androidのgpsアプリってどうよ|株式会社コンテンツワン
 
第2回ビジネスモバイル研究会
第2回ビジネスモバイル研究会第2回ビジネスモバイル研究会
第2回ビジネスモバイル研究会
 
20110824 android apps_endo
20110824 android apps_endo20110824 android apps_endo
20110824 android apps_endo
 

Mais de Hiraku Komuro

Unreal Engine 4 Meetup Sapporo LT
Unreal Engine 4 Meetup Sapporo LTUnreal Engine 4 Meetup Sapporo LT
Unreal Engine 4 Meetup Sapporo LTHiraku Komuro
 
classmethod devio2015 J-1 iBeacon
classmethod devio2015 J-1 iBeaconclassmethod devio2015 J-1 iBeacon
classmethod devio2015 J-1 iBeaconHiraku Komuro
 
GGJ 2015 Sapporo Team14
GGJ 2015 Sapporo Team14GGJ 2015 Sapporo Team14
GGJ 2015 Sapporo Team14Hiraku Komuro
 
LambdaとMobileの美味しいかもしれない関係
LambdaとMobileの美味しいかもしれない関係LambdaとMobileの美味しいかもしれない関係
LambdaとMobileの美味しいかもしれない関係Hiraku Komuro
 
20140827_勉強会挨拶
20140827_勉強会挨拶20140827_勉強会挨拶
20140827_勉強会挨拶Hiraku Komuro
 
ぼんくら発表資料 1
ぼんくら発表資料 1ぼんくら発表資料 1
ぼんくら発表資料 1Hiraku Komuro
 

Mais de Hiraku Komuro (8)

Unreal Engine 4 Meetup Sapporo LT
Unreal Engine 4 Meetup Sapporo LTUnreal Engine 4 Meetup Sapporo LT
Unreal Engine 4 Meetup Sapporo LT
 
mBaaS x IoT
mBaaS x IoTmBaaS x IoT
mBaaS x IoT
 
classmethod devio2015 J-1 iBeacon
classmethod devio2015 J-1 iBeaconclassmethod devio2015 J-1 iBeacon
classmethod devio2015 J-1 iBeacon
 
Hw meetup 20150304
Hw meetup 20150304Hw meetup 20150304
Hw meetup 20150304
 
GGJ 2015 Sapporo Team14
GGJ 2015 Sapporo Team14GGJ 2015 Sapporo Team14
GGJ 2015 Sapporo Team14
 
LambdaとMobileの美味しいかもしれない関係
LambdaとMobileの美味しいかもしれない関係LambdaとMobileの美味しいかもしれない関係
LambdaとMobileの美味しいかもしれない関係
 
20140827_勉強会挨拶
20140827_勉強会挨拶20140827_勉強会挨拶
20140827_勉強会挨拶
 
ぼんくら発表資料 1
ぼんくら発表資料 1ぼんくら発表資料 1
ぼんくら発表資料 1
 

北海道勉強会_20140531

  • 1. 1Copylight © Classmethod, Inc. Parse入門 あなたのモバイル開発を超加速
  • 2. 2Copylight © Classmethod, Inc. 自己紹介 • 小室啓 • クラスメソッドiPhoneアプリ・サービス 事業部 • Androidです!
  • 3. 3Copylight © Classmethod, Inc. 自己紹介 • 小室啓 • クラスメソッドiPhoneアプリ・サービス 事業部 • Androidです!アウェー!
  • 4. 4Copylight © Classmethod, Inc. アジェンダ • 紹介 • 入門 • 入門といいながら、速攻で終わるので紹 介多めです
  • 5. 5Copylight © Classmethod, Inc. モバイルバックエンドの開発? • モバイルアプリケーションのバックエン ドの開発は結構面倒。
  • 6. 6Copylight © Classmethod, Inc. モバイルバックエンドの開発? • どうやっていますか?
  • 7. 7Copylight © Classmethod, Inc. 何が必要か? • 用意しなきゃいけないもの
  • 8. 8Copylight © Classmethod, Inc. 物理サーバー
  • 9. 9Copylight © Classmethod, Inc. Webサーバー (Apache, nginxとか)
  • 10. 10Copylight © Classmethod, Inc. DBアクセスなどのロジックとか
  • 11. 11Copylight © Classmethod, Inc. データストア(RDBMS? File?とか)
  • 12. 12Copylight © Classmethod, Inc. スケールやらロードバランサやら とか
  • 13. 13Copylight © Classmethod, Inc. こんなにある • ハードウェアの調達とかは面倒ですね。
  • 14. 14Copylight © Classmethod, Inc. Cloudを使う? • ご存知の通り、Cloudを使えばハードウェ アの物理的制約から開放されます。 • さらに外部に公開するための準備なども 手軽に行えます。
  • 15. 15Copylight © Classmethod, Inc. Google Cloud Platform Compute Engine https://cloud.google.com/products/compute-engine/
  • 16. 16Copylight © Classmethod, Inc. Amazon Web Services http://aws.amazon.com/jp/ 他にも色々ありますが、代表的なところはこんなものでしょう。 例にAWSで作ってみるのを考えてみます
  • 17. 17Copylight © Classmethod, Inc. AWSでやる? 1. サーバー(EC2?) 2. フロント(CloudFront?) 3. データストア (RDS?DynamoDB?) 4. ロードバランサ(ELB)
  • 18. 18Copylight © Classmethod, Inc. AWSでやる? • 確かにハードウェアの制約などははずれ ましたが、まだまだ用意しなければなら ないものが大量にあります。 • あんまり準備する手間は変わらな い・・・? • まだまだモバイアプリ開発にとって、本 質的でない作業が大量に含まれています。
  • 19. 19Copylight © Classmethod, Inc. 本質以外のことが多すぎる • サーバーにデータを保存したりする、モバイ ル・アプリはDBサーバーとか必須 • Android, iOSのプログラムを書く他に上のこ とも全てやらなきゃいけない? • なんでモバイルアプリを開発するのに – サーバープログラム書いてるんだろ・・・ – URL設定してるんだろ・・・
  • 20. 20Copylight © Classmethod, Inc. 本質以外のことが多すぎる • サーバーにデータを保存したりする、モバイ ル・アプリは結局サーバーを全部用意しない といけません。 • Android、iOSのプログラムを書く他に上の ことも全てやらなきゃいけない? • なんでモバイルアプリを開発するのに • サーバープログラム書いてるんだろ・・・ • URLのルーティングとか設定してるんだ ろ・・・
  • 21. 21Copylight © Classmethod, Inc. 本質以外のことが多すぎる • サーバーにデータを保存したりする、モバイ ル・アプリは結局サーバーを全部用意しない といけません。 • Android、iOSのプログラムを書く他に上の ことも全てやらなきゃいけない? • なんでモバイルアプリを開発するのに • サーバープログラム書いてるんだろ・・・ • URLのルーティングとか設定してるんだ ろ・・・ 自分はもっとUIやUXなど、ユーザーに触 れるモバイルアプリの本質的なところに工 数をかけたいんだ!
  • 23. 23Copylight © Classmethod, Inc. Parse • Parseとは、Parseが提供する【MBaaS】 です。 • 昨年あたりにFacebook社に買収されてま す。 • ググらビリティが低すぎて開発者泣かせ
  • 24. 24Copylight © Classmethod, Inc. Parseの特徴 • モバイルのバックエンドを構築する環境を一 手にまとめて提供してくれるサービスです • Webホスティング • データストア • Social連携(Facebook, Twitter) • Push通知 • REST API • 各種Native開発用SDKの提供… and etc
  • 25. 25Copylight © Classmethod, Inc. Parseの特徴 全部まとめてParseが 面倒みてくれます
  • 26. 26Copylight © Classmethod, Inc. Parseの事例(世界)
  • 27. 27Copylight © Classmethod, Inc. なぜParseを選択するのか • MBaaSの世界のにおいて、先駆者的な実 装になってる – 日本国内のMBaaSには、Nifty Cloudなどが ありますが、Parseのメソッドと同じ命名規 則になっていたり – 何かと共通するものが多い
  • 28. 28Copylight © Classmethod, Inc. 多様なSDK • 各OSのNative開発SDKが提供されている こと – iOS, Windows Phone, Android, JS, Xamarin, Unityなどほぼ主要な言語を網羅し ています
  • 29. 29Copylight © Classmethod, Inc. Social連携でのログイン機能を 簡単に実装 Twitter ログイン
  • 30. 30Copylight © Classmethod, Inc. 強力なPush通知機能 • APNs, GCMなどOSごとのPush通知の仕 様は複雑怪奇な上、あまりにも実装が面 倒 • Amazon SNSなどを利用すればその辺も 面倒みてくれるかも?
  • 31. 31Copylight © Classmethod, Inc. 強力なPush通知機能
  • 32. 32Copylight © Classmethod, Inc. 強力なPush通知機能
  • 33. 33Copylight © Classmethod, Inc. 強力なPush通知機能 • Amazon SNS以上に気軽なコンソールで準 備完了 • 設定項目これだけ。 • GCMは設定をONにするだけ!
  • 34. 34Copylight © Classmethod, Inc. サーバサイド構築まで 5分かからない • データの定義さえすれば使える状態なの で、すぐ使えるよ • プロジェクト作成、データ定義だけで REST API経由とかSDKでCRUDできます
  • 35. 35Copylight © Classmethod, Inc. サーバーサイドの動作も 比較的自由に変更できる • サーバーサイドプログラミングを少しだけやると、 容易に動作を拡張できます • プロジェクト作成、データ定義だけで、REST API経由でCRUDできます
  • 36. 36Copylight © Classmethod, Inc. サーバーサイドの動作も 比較的自由に変更できる • サーバーサイドプログラミングを少しだけやると、 容易に動作を拡張できます • プロジェクト作成、データ定義だけで、REST API経由でCRUDできます いちおし!
  • 37. 37Copylight © Classmethod, Inc. Analytics • リクエスト数やらPush通知の数とか 色々とカッコいいグラフにして表示し てくれます
  • 38. 38Copylight © Classmethod, Inc. ダッシュボードのUIがCool
  • 39. 39Copylight © Classmethod, Inc. バックエンド機能を拡張 Cloud Code • バックエンド拡張用のコードはJavaScript で記述 • SDKを提供 • 簡単なコマンドでdebugからdeployまで • Backbone Styleを踏襲 • 他JSライブラリの導入が楽
  • 40. 40Copylight © Classmethod, Inc. Cloud CodeのSDK • Unix, Linux系OSであればコマンド一発で SDK導入 curl -s https://www.parse.com/downloads/cloud_code /installer.sh | sudo /bin/bash
  • 41. 41Copylight © Classmethod, Inc. 基本コマンド • 作成したコードをDeploy • Remoteログを監視 • プロジェクト作成 $ parse deploy $ parse log -f $ parse new <AppName>
  • 42. 42Copylight © Classmethod, Inc. Cloud Codeの特徴 • 各種カスタムFunctionはクロージャで定 義 • データのCRUDの前後(before, after)で Hookして実行するトリガFunction • 独自のAPIの口を定義できるカスタム Function
  • 43. 43Copylight © Classmethod, Inc. トリガFunction • 処理を書けばParseが適当なタイミングで 勝手に実行してくれる
  • 44. 44Copylight © Classmethod, Inc. トリガFunctionサンプル
  • 45. 45Copylight © Classmethod, Inc. カスタムFunction • 呼び出し口を提供 • RESTの呼び出しはPOSTのみ • SDK内からの呼び出しは、専用のメソッ ドが準備されている
  • 46. 46Copylight © Classmethod, Inc. カスタムFunctionサンプル
  • 47. 47Copylight © Classmethod, Inc. Parseのここがよくないよ • 運営側のFAQがゆるふわ(適当) 質問者「これをやるとこんなエラーが出るんだけど」 運営「これをやれば解決するぜ!」 _人人人人人人人人_ > 解決しない! <  ̄Y^Y^Y^Y^Y^Y^Y ̄
  • 48. 48Copylight © Classmethod, Inc. Parseのここがよくないよ • StackOverflowもゆるふわ 「こんな問題が発生したんだけど、誰か解決方法知らないかい?」 「俺も同じ問題が発生したぜ」「俺も」「俺も」
  • 49. 49Copylight © Classmethod, Inc. つかってみる • プロジェクトをつくります!
  • 50. 50Copylight © Classmethod, Inc. つかってみる • データを定義します
  • 51. 51Copylight © Classmethod, Inc. つかってみる • おわりです! • あとは、SDKとかREST APIでアクセスす るだけ https://api.parse.com/1/classes/<ClassName>
  • 52. 52Copylight © Classmethod, Inc. つくってます • Open Othello API
  • 53. 53Copylight © Classmethod, Inc. まとめ • ConsoleのUIがかっこいいので使いたくな る • モバイル・アプリに必要なサービスが全 てこれで事足りる • 使いはじめるのは超簡単 • Cloud Code萌え
  • 54. 54Copylight © Classmethod, Inc. ありがとうございました

Notas do Editor

  1. 単にデータを保存するだけなら、基本的にバックエンド側の動作コードは不要です。 ただ、ちょっと複雑な処理とかしてみたくなります。
  2. 単にデータを保存するだけなら、基本的にバックエンド側の動作コードは不要です。 ただ、ちょっと複雑な処理とかしてみたくなります。
  3. 単にデータを保存するだけなら、基本的にバックエンド側の動作コードは不要です。 ただ、ちょっと複雑な処理とかしてみたくなります。
  4. 単にデータを保存するだけなら、基本的にバックエンド側の動作コードは不要です。 ただ、ちょっと複雑な処理とかしてみたくなります。
  5. 単にデータを保存するだけなら、基本的にバックエンド側の動作コードは不要です。 ただ、ちょっと複雑な処理とかしてみたくなります。
  6. 単にデータを保存するだけなら、基本的にバックエンド側の動作コードは不要です。 ただ、ちょっと複雑な処理とかしてみたくなります。