Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
B2Cモバイル開発のいまとこれから #forcedotcomjp
Search
Naoya Ito
September 06, 2013
Technology
54
8.1k
B2Cモバイル開発のいまとこれから #forcedotcomjp
Salesforce Developer Conference Tokyo 2013 での発表資料
Naoya Ito
September 06, 2013
Tweet
Share
More Decks by Naoya Ito
See All by Naoya Ito
Haskell を武器にして挑む競技プログラミング ─ 操作的思考から意味モデル思考へ
naoya
8
2.1k
Haskell でアルゴリズムを抽象化する / 関数型言語で競技プログラミング
naoya
21
7.3k
Functional TypeScript
naoya
18
6.6k
TypeScript 関数型スタイルでバックエンド開発のリアル
naoya
75
37k
シェルの履歴とイクンリメンタル検索を使う
naoya
16
6.5k
20230227-engineer-type-talk.pdf
naoya
91
83k
関数型プログラミングと型システムのメンタルモデル
naoya
63
110k
TypeScript による GraphQL バックエンド開発
naoya
29
36k
フロントエンドのパラダイムを参考にバックエンド開発を再考する / TypeScript による GraphQL バックエンド開発
naoya
67
24k
Other Decks in Technology
See All in Technology
会社紹介資料 / Sansan Company Profile
sansan33
PRO
11
390k
Oracle Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
3
280
スクラムマスターが スクラムチームに入って取り組む5つのこと - スクラムガイドには書いてないけど入った当初から取り組んでおきたい大切なこと -
scrummasudar
1
1.8k
Oracle Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
1
840
【Agentforce Hackathon Tokyo 2025 発表資料】みらいシフト:あなた働き方を、みらいへシフト。
kuratani
0
110
ソフトウェアエンジニアとAIエンジニアの役割分担についてのある事例
kworkdev
PRO
1
380
Eight Engineering Unit 紹介資料
sansan33
PRO
0
6.2k
Redshift認可、アップデートでどう変わった?
handy
1
130
RALGO : AIを組織に組み込む方法 -アルゴリズム中心組織設計- #RSGT2026 / RALGO: How to Integrate AI into an Organization – Algorithm-Centric Organizational Design
kyonmm
PRO
3
910
1万人を変え日本を変える!!多層構造型ふりかえりの大規模組織変革 / 20260108 Kazuki Mori
shift_evolve
PRO
6
1k
BidiAgent と Nova 2 Sonic から考える音声 AI について
yama3133
2
150
Keynoteから見るAWSの頭の中
nrinetcom
PRO
1
170
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
We Are The Robots
honzajavorek
0
130
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
690
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
210
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
120
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
BBQ
matthewcrist
89
9.9k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.5k
[RailsConf 2023] Rails as a piece of cake
palkan
58
6.2k
Transcript
#$͔ΒΈͨ ϞόΠϧΞϓϦέʔγϣϯ։ൃͷ ͍·ͱ͜Ε͔Β /BPZB*UP JOBPZB!HNBJMDPN
NAOYA ITO
None
None
None
ࡢࠓͷϞόΠϧࣄ
h"p://www.kpcb.com/insights/2013-‐internet-‐trends
h"p://www.kpcb.com/insights/2013-‐internet-‐trends
ྫ͑ɺ&$ • ϞόΠϧ͕ݗҾ – ஹԯԁ – ஹԯԁ • ͏͕ͪϞόΠϧ ܦࡁ࢈ۀলൃද "NB[PODPKQ
ʮࠓޙϞόΠϧͰΓ͍ͨʯ
ਓʑ͕ϞόΠϧͰࢥ͍ු͔ΔϞϊ 1BUI 5XJUUFS
None
ʰ͍ͭʹΤϯυϢʔβʔͷٯऻ͕࢝·ͬͨrاۀγεςϜʹ͓͚ΔίϯγϡʔϚʔΠϊϕʔ γϣϯ/PUIJOHWFOUVSFE OPUIJOHHBJOFEʱ h"p://takora"a.hatenablog.com/entry/20120329/1333033813
None
None
ϞόΠϧ։ൃैདྷͷ։ൃͱҧ͏
h"ps://speakerdeck.com/vitalyg/designing-‐for-‐mobile-‐commerce
ϞόΠϧΞϓϦ։ൃͷ 69ͷ։ൃ ˞एׯͬͯ·͕࣮͢ײͱͯ͠
69։ൃΛ͏·͘ਐΊΔʹ ࢼߦࡨޡͷճΛ૿͢
ࢼߦࡨޡͷճΛ࠷େԽ • #$ͷ։ൃϓϩηεͦͷ࠷దԽͷ݁Ռ – ϦʔϯɺΞδϟΠϧ։ൃɺ$*ɺ$%ɺ %FW0QTŋŋŋ
ͳͥϦϦʔεසΛ্͛Δͷ͔ h"p://www.gaku.net/ukki/なぜリリース頻度を上げるのか
None
None
5IF$POTVNFSJ[BUJPO0G*5
ϞόΠϧΞϓϦ։ൃͷ࣮ࡍ
ελʔτΞοϓॳظ͔Β6*։ൃ ʹྗΛೖΕ͍ͯΔ 1BUI 4NBSU/FXT
ͳͥͳΒ • ͦͦ69͕Α͘ͳ͍ͱϢʔβʔʹͬ ͯΒ͑ͳ͍͔Β • 6*ͷ࣮ίετ͕ߴ͍ͷͰɺॳظʹίϯ ηϓτΛ͔ͬ͠ΓݻΊ͍ͨ
ࢴͰֆΛॻ͘ 『はてブiPhone・Androidアプリの開発プロセス – ninjinkun's diary』 h"p://ninjinkun.hatenablog.com/entry/20110213/1297586340
ϖʔύʔϓϩτλΠϐϯά
101 ϖʔύʔϓϩτλΠϐϯά༻ΞϓϦ
'MJOUPɺ'JMF4RVBSFFUD
6*࡞ʹ͋ͨͬͯ • 6*ίϯϙʔωϯτͷύλʔ ϯΛ͓ͬͯ͘͜ͱ͕େ – Ͳ͏ͬͯ 㱺ޙड़ • ΨΠυϥΠϯඞಡ – J04ώϡʔϚϯΠϯλʔϑΣΠ
εΨΠυϥΠϯ – %FTJHOc"OESPJE %FWFMPQFST ʰεϚʔτϑΥϯͷͨΊͷ6*σβΠϯʱ ా࢘
6*,JU'SBNFXPSL
6*,JUͷ੍ • ૉʹै͏ͱJ04Β͍͠69ʹ্͕ΔΑ ͏ʹͳ͍ͬͯΔ – ྫը໘ભҠ"1*ͳͲࢥ͍ͬͯΔΑΓͣͬͱબ ࢶ͕গͳ͍ • pushViewController:animated: •
presentViewController:animated:completion : – ྫ: ϘλϯΛஔ͚Δॴܾ·͍ͬͯΔ
ͭ·Γŋŋŋ • ࣮Λߦ͍ͬͯΔϓϩάϥϚɺJ04ͷ6* ͕Ͳ͏͋Δ͖͔ΛΑ͍ͬͯ͘Δ • ϑϨʔϜϫʔΫͷཧղͳ͠ʹ6*ઃܭΛߦ ͏ͷԕճΓ
ۙͷ#$։ൃͷ • ʮϑϩϯτΤϯυ։ൃऀʯ – ϑϩϯτΤϯυ։ൃऀσβΠφͰ͋Δ͜ͱ h"p://www.theguardian.com/help/insideguardian/2009/sep/28/blogpost
1VMM3FRVFTU։ൃͱ6* ը໘ઃܭͷऀʹ։ൃϦςϥγ͕͋Ε (JUIVCͰͷίϥϘϨʔγϣϯ͕Մೳ
J04"OESPJE։ൃͷམͱ݀͠ ʮ"OESPJE൛J04൛ͱಉ͡σ βΠϯͰΑΖ͘͠ʂʯ
J04 • ը໘ભҠΞϓϦͷதͰجຊ݁͢Δ • ଞΞϓϦͱͷ࿈ܞ࠷ݶ
"OESPJE • ෦ભҠͱଞΞϓϦͷભҠ͕֓೦্ಉҰ • Σϒϒϥβͷߟ͑ํʹ͍ۙ – όοΫΩʔԿͷͨΊʹ͋Δʁ
6*ͷࠜຊͷࢥ͕ҧ͏ • J04ͱ"OESPJEͦΕͧΕ։ൃ͢Δํ ͕݁Ռతʹۙಓ • ϫϯιʔεɾΫϩεϓϥοτϑΥʔϜࠔ ͳಓ – ͨͩ͠ɺ6*ϑϨʔϜϫʔΫΛΘͳ͍։ൃ ྫ֎ ྫωΠςΟϒήʔϜ
)5.-Ͱ͍ͭΔͷ ࠓͰŋŋŋͳ͍
• 8FCϖʔδతͳͷ0, – ैདྷͷ8FC։ൃͱ΄΅มΘΒͳ͍ • ωΠςΟϒΞϓϦͷΑ͏ͳ )5.-ΞϓϦࠔͳಓ – &NCFEEFE8FC7JFXTͳͲ͍Ζ͍ΖΞϓϩʔν͋Δͷ ͷɺָܾͯ͠Ͱͳ͍
ϞόΠϧ։ൃͱ044 $PDPB1PETੵۃతʹར༻
$PDPB1PET • 3VCZͷHFNɺ1FSMͷ$1"/ • #VOEMFSͷΑ͏ͳґଘཧɺόʔδϣϯݻఆͷΈ # Podfile platform :ios,
'6.1' pod 'JSONKit' pod 'AFNetworking', '~> 1.3'
(JUIVCͱ044
$PDPB$POUSPMT
ΫϥυͱϞόΠϧ • *BB41BB4ɺ.#BB4ɺ4BB4 – ੵۃతʹ͍ͬͯ͘ – ੵۃతʹ͍ɺ։ൃαΠΫϧΛΊΔ • "1*ϑΝʔετ – όοΫΤϯυϑϩϯτΤϯυͷ୲ – ۀϩδοΫ"1*ͰΫϥυଆͰɻ6*Λ ΞϓϦͰ
όοΫΤϯυ*BB41BBT #$ͷ৽ن։ൃͰͨΓલ )FSPLV "84
ͳͥΫϥυʁ • ΠϯϑϥͷೲظΛॖΊ͍ͨ • %FW0QT͍ͨ͠ – #$ϞόΠϧ։ൃʹ͓͍ͯͪ͜Βͷཁ – ΠϯϑϥΛࣗಈԽ͠ɺࢼߦࡨޡճΛ૿͢
ϞόΠϧ#BB4 1BSTFDPN
.#BB4ͷఏڙ͢Δͷ • Ϣʔβొɾཧɾೝূ • ϝοηʔδϯά ϓογϡ௨ • ΫϥυετϨʔδ –
ϑΝΠϧετϨʔδ – ΦϒδΣΫτετϨʔδ • Ϋϥυ্Ͱͷܭࢉॲཧ • ՝ۚ *O"QQ1VSDITF • ར༻ੳ • ҐஔใɺιʔγϟϧͳͲͷίϯςΩετ
1BSTFJ044%, ίʔυ3VCZ.PUJPO # Push Notification を有効に # ParseのKVS
に deviceToken ó user_id のマッピングを保持 PFInstallation.currentInstallation.tap do |i| i.setDeviceTokenFromData deviceToken i.setObject @user_id, forKey:"owner" i.saveInBackground end
1BSTF3&45"1* # REST API で、push通知を端末に送るよう Parse に指令 curl -‐X
POST \ -‐H "X-‐Parse-‐Application-‐Id: "..." \ -‐H "X-‐Parse-‐REST-‐API-‐Key: "..." \ -‐H "Content-‐Type: application/json" \ -‐d '{ "data": { "where": { "owner": "naoya" } "alert": "Hello, World!" } }' \ https://api.parse.com/1/push ϓογϡ௨ʹ·ͭΘΔ໘ͳՕॴΫϥυଆͰͬͯ͘ ΕΔ ྫ"1/αʔόͱͷଓҡ࣋
"NB[PO4/4 • "84ͷϓογϡ௨αʔϏε • .#BB4΄Ͳͷػೳॊೈ͞ͳ͍͕ͱʹ ͔͍҆͘ – 64%ສ"1*ϦΫΤετ – .#BB4ΦϒδΣΫτετϨʔδ4%,ͱ ͷ࿈ܞ͕ڧΈ •
ࠓޙ"84͕#BB4తׂ୲͏
ϞόΠϧ#BB4ͷ࣮ࡍ • શͯΛ#BB4͕͏Θ͚Ͱͳ͍ – *BB41BB4ͱ͍͚ͳ͕Βɺ#BB4͕ಘҙ ͱ͢Δͱ͜ΖΛ୲ͤ͞Δͷ͕٢ 『モバイルBaaSの概観と最新動向 (2013/6/7)』 by Shnichi Tomita
h"p://www.slideshare.net/shinichitomita/mobile-‐baaslatest
)FMJPTCZ)FSPLV
։ൃΛॿ͚Δ4BB4 • ͲΜͲΜ͍ͬͯ͘ – 5FTU'MJHIUςετΞϓϦͷνʔϜͷ – #VH4FOTFΫϥογϡϨϙʔτ – /FX3FMJDϞχλϦϯά –
5SBWJT$*ܧଓతΠϯςάϨʔγϣϯ #VH4FOTF
ָͰ͖Δͱ͜ΖָΛ͢Δ ָͨͩ͠͠Ͳ͜ΖΛؒҧΘͳ͍
ʮ"OESPJE൛J04൛ͱಉ͡σ βΠϯͰΑΖ͘͠ʂʯ
·ͱΊ • #$ΞϓϦ։ൃͷϓϥΫςΟεΛհ • ैདྷ։ൃΑΓ69։ൃʹϦιʔεΛׂ͘ • ։ൃϓϩηεΠϯϑϥͷѻ͍Λચ࿅ͤ͞Δ͜ͱ ͰࢼߦࡨޡճΛ૿͢ – ݁Ռɺ6*։ൃͷϦιʔε֬อٴͼධՁ͕ॊೈʹͳΔ
• 044ΫϥυΛ࠷େݶ׆༻ • ͨͩ͠ɺָΛ͢ΔՕॴਖ਼͘͠ݟۃΊΔ – ΞϓϦૉʹɺී௨ͷΓํͰ࡞Δ – ʮָͦ͏͔ͩΒʯͱ͍͏ཧ༝͚ͩͰϫϯιʔε )5.-ࣗಈੜͳͲ͍ٻΊͳ͍ – पลڥʮڊਓͷݞͷ্ʯʹΔ