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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
FUJI Goro
August 23, 2014
Technology
3.1k
22
Share
攻めのモバイルアプリ開発
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
1.9k
How to Boost Your Code with WebAssembly
gfx
2
3.1k
AssemblyScriptでライブラリコードの高速化をしてみる
gfx
5
3.3k
実践TypeScriptトークバトル
gfx
1
1.2k
歴史的経緯の説明 as code
gfx
7
2.9k
Elasticsearchによる 全文検索の実装 in Rails
gfx
6
9.8k
すばらしきGraphQLのSEKAIへようこそ
gfx
20
9.8k
マルチテナント・ウェブアプリケーションの実践
gfx
14
9.8k
How to choose the ORM on Android
gfx
1
4.4k
Other Decks in Technology
See All in Technology
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.4k
Snowflake Intelligence導入で 分かった活用のコツ
wonohe
0
120
最新の脅威動向から考える、コンテナサプライチェーンのリスクと対策
kyohmizu
1
660
実践ハーネスエンジニアリング:TAKTで実現するAIエージェント制御 / Practical Harness Engineering: AI Agent Control Enabled by TAKT
nrslib
9
3.9k
マルチエージェント × ハーネスエンジニアリング × GitLab Duo Agent Platformで実現する「AIエージェントに仕事をさせる時代へ。」 / 20260421 GitLab Duo Agent Platform
n11sh1
0
140
AWS Agent Registry の基礎・概要を理解する/aws-agent-registry-intro
ren8k
2
340
AIエージェントの権限管理 1: MCPサーバー・ツールの Fine grained access control 編
ren8k
3
480
Azure Static Web Apps の自動ビルドがタイムアウトしやすくなった状況に対応した件/global-azure2026
thara0402
0
360
システムは「動く」だけでは足りない 実装編 - 非機能要件・分散システム・トレードオフをコードで見る
nwiizo
4
410
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
16k
AzureのIaC管理からログ調査まで、随所に役立つSkillsとCustom-Instructions / Boosting IaC and Log Analysis with Skills
aeonpeople
0
140
CDK Insightsで見る、AIによるCDKコード静的解析(+AI解析)
k_adachi_01
2
180
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.7k
It's Worth the Effort
3n
188
29k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.2k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
210
Music & Morning Musume
bryan
47
7.2k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
210
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
370
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.9k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
61
43k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.3k
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)