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
攻めのモバイルアプリ開発
Search
FUJI Goro
August 23, 2014
Technology
22
3.1k
攻めのモバイルアプリ開発
DevLOVE現場甲子園2014 東日本大会
http://devlove.doorkeeper.jp/events/11792
の発表資料です。
FUJI Goro
August 23, 2014
Tweet
Share
More Decks by FUJI Goro
See All by FUJI Goro
How to Boost Your Code with WebAssembly
gfx
2
3k
AssemblyScriptでライブラリコードの高速化をしてみる
gfx
5
3.2k
実践TypeScriptトークバトル
gfx
1
1.2k
歴史的経緯の説明 as code
gfx
7
2.8k
Elasticsearchによる 全文検索の実装 in Rails
gfx
6
9.6k
すばらしきGraphQLのSEKAIへようこそ
gfx
20
9.4k
マルチテナント・ウェブアプリケーションの実践
gfx
14
9.6k
How to choose the ORM on Android
gfx
1
4.3k
How Do We Get Along With Static Types
gfx
5
3.4k
Other Decks in Technology
See All in Technology
Kiroでインフラ要件定義~テスト を実施してみた
nagisa53
3
300
【CEDEC2025】現場を理解して実現!ゲーム開発を効率化するWebサービスの開発と、利用促進のための継続的な改善
cygames
PRO
0
720
人に寄り添うAIエージェントとアーキテクチャ #BetAIDay
layerx
PRO
8
2k
専門分化が進む分業下でもユーザーが本当に欲しかったものを追求するプロダクトマネジメント/Focus on real user needs despite deep specialization and division of labor
moriyuya
0
1k
o11yツールを乗り換えた話
tak0x00
1
220
【CEDEC2025】ブランド力アップのためのコンテンツマーケティング~ゲーム会社における情報資産の活かし方~
cygames
PRO
0
230
Foundation Model × VisionKit で実現するローカル OCR
sansantech
PRO
0
300
S3 Glacier のデータを Athena からクエリしようとしたらどうなるのか/try-to-query-s3-glacier-from-athena
emiki
0
180
SRE新規立ち上げ! Hubbleインフラのこれまでと展望
katsuya0515
0
160
AIに目を奪われすぎて、周りの困っている人間が見えなくなっていませんか?
cap120
1
430
AI人生苦節10年で会得したAIがやること_人間がやること.pdf
shibuiwilliam
1
270
【Λ(らむだ)】最近のアプデ情報 / RPALT20250729
lambda
0
230
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Designing for Performance
lara
610
69k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Docker and Python
trallard
45
3.5k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.6k
Code Review Best Practice
trishagee
69
19k
Git: the NoSQL Database
bkeepers
PRO
431
65k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
283
13k
Side Projects
sachag
455
43k
How GitHub (no longer) Works
holman
314
140k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Transcript
߈ΊͷϞόΠϧΞϓϦ։ൃ Fuji, Goro (@__gfx__) #devloveٕ 4ճද ʢඈͼೖΓࢀՃʣ 2014/08/23
ࣗݾհ • ౻ ޗ (gfx) • CookpadͷϞόΠϧΤϯδχΞ(iOS/Android) • ϥΠϒϥϦ։ൃ։ൃڥඋɾࣗಈԽͳͲ •
background: C/C++, Perl, JavaScript (LLଟΊ) • ߈Ίͷ։ൃڥɾମ੍ͮ͘ΓΛ͍͖͍ͯͨ͠
– Fuji, Goro (#devloveٕ, 2014) “ʮ߈Ίʯͱɺݱঢ়ҡ࣋ʹྲྀ͞ΕΔؾ࣋ ͪʹཱ͔ͪ͏ҙࢤͰ͋Δ”
߈Ίͷ։ൃϫʔΫϑϩʔ
Web։ൃݱͷ͋Δ1γʔϯ • ܧଓతσϦόϦʔ࠷ߴʂCI͋Δ͔Β࠷ݶͷ ࣭อূͰ͖Δ͠ɺ͋ͬͨΒϩʔϧόο Ϋ͢Ε͍ΑͶʂ • ϦʔϯελʔτΞοϓ࠷ߴʂMVP͔Βͷվྑ ͰάΠάΠՁΛ͔ͨΊͯ͜㽉㽉
Q. ϞόΠϧΞϓϦಉ͡ϊϦͰ࡞ΕΔʁ
A. ແཧ
ܧଓσϦόϦʔͰ͖ͳ͍ • ςετ͕WebΞϓϦͱൺֱͯ͘͠͠CIͰࣗಈͰς ετͰ͖Δൣғ͕ڱ͍ • Ξοϓσʔτͷڧ੍͕͍͠ɻ͋ΒΏΔόʔδϣϯ ࢢʹΓଓ͚ΔʢϢʔβʔͷυϩοϓΛ֮ޛ͢ ΔͳΒڧ੍ΞοϓσʔτΛଅ͢͜ͱͰ͖Δ͕…ʣ • submit͔Β৴·Ͱ࣌ؒ(Play)͔Βिؒ
(AppStore)͔͔Δ
MVP͔ΒҭͯΔͷ͍͠ • ϚʔέςΟϯάతʹϓϥοτϑΥʔϜετΞͷϨϏϡʔ ͕ͱͯॏཁͰɺΫΦϦςΟͷ͍όʔδϣϯ͕ΞϓϦ ࣗମͷΛҾͬுΔʢGoogle Playʣ • Πϯετʔϧͷϋʔυϧ͕ߴ͍ͨΊɺ࠷ॳͷҹ͕ѱ͘ ͯΞϯΠϯετʔϧ͞ΕΔͱɺ͋ͱ͔ΒͦͷҹΛ෴͠ ͯ࠶Πϯετʔϧͯ͠Β͏ͷ͕͍͠
• ࠷ॳͷόʔδϣϯͷΫΦϦςΟ͔ͳΓେࣄʢPlayͷβ ৴DeployGateͰϦʔϯ։ൃ͢Δʹෆेʣ
WebͱൺֱʹͳΒͳ͍ଟ༷ੑ • ϒϥβͷଟ༷ੑ: platform x software • platform: Windows, MacOSX
• software: IE7/8/9/10, Safari, Chrome • IEͰ͑͞ยखͰ͑ΒΕΔఔͷ • ͷଟ༷ੑ: platform x OS ver. x device • ͷछྨ͕ଟ͗ͯ͢ɺϦϦʔεલʹͯ͢ͷڥͰಈ࡞ ֬ೝ͢ΔͷෆՄೳ
! ͕͋ͬͨΒ ߈Ί͍͔ͯ͘͠ͳ͍
ϞόΠϧ։ൃϑϩʔͷ • ͍͍ͩͨʮߴ࣭ͳΞϓϦέʔγϣϯΛϦϦʔε͢Δ ͠͞ʯʹ͖ͭΔ • ܧଓతσϦόϦʔͳڥͰଘࡏ͠ͳ͍ɺ໌֬ͳίʔυϑ ϦʔζͱQAظؒΛઃ͚ͨ • AndroidΞϓϦͷ߹ݶఆެ։ػೳΛར༻ͯ͠க໋తͳ ͷ͋ΔόʔδϣϯͷΛ࠷ݶʹ͢Δ
• iOSΞϓϦͷ߹ϓϩϞίʔυʹΑΔલͷࢼݧͰக໋తͳ όʔδϣϯͷͷՄೳੑΛݮΒ͢
ίʔυϑϦʔζ • Web։ൃ: github-flow • ։ൃϒϥϯν(master)ΛৗʹσϓϩΠՄೳʹอͭ • ΞϓϦ։ൃ: git-flow (a
successful git branching model) • ։ൃϒϥϯν͔Βϒϥϯνϯάͯ͠CFͯ͠ϦϦʔεϒϥϯ νΛͭ͘ΓɺϦϦʔεϒϥϯνͰඞཁෆՄܽͳόάϑΟ ΫεҎ֎ҰߦΘͳ͍ • ͳ͓developϒϥϯνͭ͘Βͳ͍
$PEF 'SFF[F 3$ 'FBUVSF GPS NBTUFS GFBUVSF SFMFBTF
JNQPSUBOU CVHpY OFX GFBUVSF USJWJBM CVHpY
ݶఆެ։ • Google PlayͷػೳͰɺҰఆͷׂ߹ͷϢʔβʔ ʹ͚ͩΞοϓσʔτΛ৴Ͱ͖Δ • ࠷ॳʹ5%ϦϦʔε͢Δ͜ͱͰ • ͪ͜Βʹͱͬͯ5%ͰʮͨΓʯΛҾ͍ͨ ϢʔβʹͱͬͯͦΕ͕શͯͳͷͰɺ࠷ऴόʔ
δϣϯͷͭΓͰग़͢ͷલఏ
ϓϩϞίʔυ • ΞϓϦͷϨϏϡʔ͕௨ͬͨΒiTune connectͰ ϓϩϞίʔυΛͰ͖Δ • ެ։લʹɺެ։൛ͷΞϓϦΛҙͷʹΠ ϯετʔϧͰ͖Δ • ࠷ऴνΣοΫͰ͕͓͖ͨΒ༰ࣻͳ͘ϦϦʔ
εதࢭ
߈Ίͷ։ൃڥ
߈Ίͷ։ൃڥͮ͘Γ • ΞϓϦ։ൃ͕δϦශʹͳΔύλʔϯ • ΞϓϦ։ൃͰ͖Δϝϯόʔ͕গͳ͍ • ΞϓϦ։ൃνʔϜ͕ɺαʔϏε։ൃΛ͍ͯ͠Δ෦ ॺ͔ΒҎདྷΛ͏͚ͯΞϓϦΛͭ͘Δडୗ։ൃ৫ ʹͳͬͯ͠·͏ •
ࣗಈԽ͕͍͠Օॴ͕ଟ͍ • ؾ߹Ͱख࡞ۀ͢Δ͜ͱʹ׳Εͯ͠·͏
औΓΈ • ϞόΠϧΤϯδχΞΛ૿ͦ͏ʂ • ։ൃͷϊϋΛڞ༗͠Α͏ʂ • ࣗಈԽ͠Α͏ʂ
ϞόΠϧΤϯδχΞΛ૿ͦ͏ʂ • τοϓμϯͷϞόΠϧϑΝʔετએݴ • ੵۃతʹϖΞϓϩ͠ͳ͕Βͷ৽ػೳ։ൃ • ϞόΠϧ։ൃWeb։ൃͱ͔ͳΓҧ͏ • ࠷ॳͷนΛ͑Δ·Ͱͱ͜ͱΜ͖߹͏ •
͜ͷͰϞόΠϧ։ൃΛܦݧͨ͠ΤϯδχΞ ͍ͩͿ૿͑ͨ
։ൃϊϋΛڞ༗͠Α͏ʂ • ڞ௨ϥΠϒϥϦΛඋͯ͠ϋΠεΩϧͳΤϯδχΞͷՌʹ͋ ͔ͣΔ • ࣾʹmaven repositorycocoapods repositoryΛઃఆͯ͠ ϥΠϒϥϦΛཧ •
ใൃ৴ΛΈԽ͢Δ • potatotipsͱ͍͏ษڧձΛ࣮ࢪ • WEB+DB PRESS Vol81ʮAndroidΞϓϦ։ൃ࠷લઢʯΛدߘ
ࣗಈԽ͠Α͏ʂ • ϦϦʔεΤϯδχΞϦϯά࡞ۀྔ͕ଟ͍ • ଐਓԽμϝɺઈର • ϦϦʔεϏϧυJenkinsͰߦ͏ • Google Play
Developer APIʢ·ͩಋೖͯ͠ͳ͍ʣ • apkΛplayʹΞοϓϩʔυ͢Δ • ΞϓϦͷઆ໌จεΫγϣΛgitཧ͢Δ
Q & A (1) • Q. ࣗಈςετͲ͏ͯ͠Δʁ • A. ϞσϧͱϢʔςΟϦςΟଟগɻUIͷࣗಈς
ετ͍ͯ͠ͳ͍͕ɺCIͰओཁͳը໘ͷεΫγϣ ΛࡱΔͷΓ࢝Ί͍ͯΔ • Q. ϦϦʔεαΠΫϧʁ • A. iOS/Androidͱʹ2िؒʹҰͷϦϦʔε
Q & A (2) • Q. ίϛϡχέʔγϣϯͲ͏ͯ͠Δʁ • A. HipChat
+ github issuesɻgithub webhookͰrepo ͷมߋΛHipChatʹ௨͢ΔʢॹͰforce pushͰ ͖ͳ͍ʂʣ • Q. CIʁ • A. JenkinsΛͬͯίϛοτ͝ͱʹjobΛΒͤɺՌΛ DeployGate/TestFlightͰ։ൃ൛Λ͍ͯ͠Δ
Q & A (3) • Q. υοάϑʔσΟϯάͲ͏ͯ͠Δʁ • A. Ͱ͖͍ͯͳ͍ɻ͍͍ํ๏͕͋ͬͨΒڭ͑ͯ΄
͍͠ • Q. ͦΕͰɺࣾडୗମ੍ղফͰ͖ͨͷ͔ • A. ·ͩશʹղফͰ͖͍ͯͳ͍ɻ͍͍ํ๏͕ ͋ͬͨΒڭ͑ͯ΄͍͠
ؔ࿈ࢿྉ • Mobile First Development at COOKPAD (2014/5/29) •
rebuild.fm/45 (podcast) (2014/5/30) • AndroidΞϓϦͷϦϦʔεͯ͠·͔͢ (2014/8/20)