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
3.2k
22
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
攻めのモバイルアプリ開発
DevLOVE現場甲子園2014 東日本大会
http://devlove.doorkeeper.jp/events/11792
の発表資料です。
FUJI Goro
August 23, 2014
More Decks by FUJI Goro
See All by FUJI Goro
ステートレスなLLMでステートフルなAI agentを作る - YAPC::Fukuoka 2025
gfx
7
2k
How to Boost Your Code with WebAssembly
gfx
2
3.2k
AssemblyScriptでライブラリコードの高速化をしてみる
gfx
5
3.3k
実践TypeScriptトークバトル
gfx
1
1.3k
歴史的経緯の説明 as code
gfx
7
2.9k
Elasticsearchによる 全文検索の実装 in Rails
gfx
6
9.8k
すばらしきGraphQLのSEKAIへようこそ
gfx
20
10k
マルチテナント・ウェブアプリケーションの実践
gfx
14
9.8k
How to choose the ORM on Android
gfx
1
4.4k
Other Decks in Technology
See All in Technology
巨大気象データと戦う ― サロゲートモデル学習を高速化する圧縮技術
gpuunite_official
0
250
LanceDB入門
mocobeta
9
670
平文パスワードはログに“残り” ── 肝心の侵入は“痕跡すら残らない”
kuroneko13
0
120
【CEDEC2026】Creative Approaches to Localizing the Dialects and Unique Speech of Umamusume: Pretty Derby Characters in English
cygames
PRO
4
26k
フィジカルAIの知識ゼロの僕でも AIを使えばここまでできた
tatsuya1970
0
150
医療の現場を変革に挑戦した半年間の軌跡 - PythonとAIで現場を変える / From Code to Care
soudai
PRO
1
580
Kiro WebとCloud Sessions
nagisa53
2
160
SmartHR Engineering Team Deck
smarthr
1
3.6k
強化学習「理論」入門
enakai00
3
3.6k
関東Kaggler会発表資料
takoi
1
280
Head First モブプログラミング / Head First Mobprogramming
takaking22
10
12k
Flutter × BLE Centralを自前Pluginで実装する設計パターン - MethodChannel / EventChannelで作る双方向ブリッジの実践 / Building Custom Flutter BLE Central Plugins: Bidirectional Bridging with Method & Event Channels
bitkey
PRO
0
240
Featured
See All Featured
Are puppies a ranking factor?
jonoalderson
2
3.8k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
エンジニアに許された特別な時間の終わり
watany
108
250k
Odyssey Design
rkendrick25
PRO
2
770
Site-Speed That Sticks
csswizardry
13
1.5k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
210
The Curse of the Amulet
leimatthew05
2
14k
How to train your dragon (web standard)
notwaldorf
97
6.8k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
3
480
Rails Girls Zürich Keynote
gr2m
96
14k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3k
How GitHub (no longer) Works
holman
316
150k
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)