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
VASILYでのアプリ開発における自動化の取り組み
Search
Ryosuke Horie
March 17, 2017
Research
1
800
VASILYでのアプリ開発における自動化の取り組み
Ryosuke Horie
March 17, 2017
Tweet
Share
More Decks by Ryosuke Horie
See All by Ryosuke Horie
Androidifyから学ぶFirebase AI Logic SDKの使い方
horie1024
0
29
GitHub Copilot Use Cases at ZOZO
horie1024
1
2.1k
Miro × ZOZO ZOZOのMiro活用事例紹介
horie1024
0
2.6k
GitHub Copilotは開発者の生産性をどれだけ上げるのか?ZOZOでの全社導入とその効果 / How Much Does GitHub Copilot Improve Developer Productivity? The Company-wide Implementation and Its Effects at ZOZO
horie1024
36
28k
ZOZOTOWNにおける開発生産性向上に関する取り組み / Initiatives to Improve Development Productivity at ZOZOTOWN
horie1024
8
6.6k
How does the Relay connect Android app development and Design?
horie1024
2
2.1k
既存画面の Jetpack Composeでの書き換え: FAANSでの事例紹介 / Case study of rewriting existing screens with Jetpack Compose
horie1024
0
1.9k
スキルマップを作った話 / Create a skills map
horie1024
3
4.7k
Miroを使った開発効率向上のための取り組み / Using Miro Efforts to Improve Development Efficiency
horie1024
0
2.6k
Other Decks in Research
See All in Research
Generative Models 2025
takahashihiroshi
25
14k
VectorLLM: Human-like Extraction of Structured Building Contours via Multimodal LLMs
satai
4
380
GPUを利用したStein Particle Filterによる点群6自由度モンテカルロSLAM
takuminakao
0
480
20250725-bet-ai-day
cipepser
2
500
RHO-1: Not All Tokens Are What You Need
sansan_randd
1
200
【輪講資料】Moshi: a speech-text foundation model for real-time dialogue
hpprc
3
770
一人称視点映像解析の最先端(MIRU2025 チュートリアル)
takumayagi
6
4k
PhD Defense 2025: Visual Understanding of Human Hands in Interactions
tkhkaeio
1
270
能動適応的実験計画
masakat0
2
920
Vision and LanguageからのEmbodied AIとAI for Science
yushiku
PRO
1
570
Time to Cash: The Full Stack Breakdown of Modern ATM Attacks
ratatata
0
160
J-RAGBench: 日本語RAGにおける Generator評価ベンチマークの構築
koki_itai
0
880
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
Thoughts on Productivity
jonyablonski
72
4.9k
How STYLIGHT went responsive
nonsquared
100
5.9k
Testing 201, or: Great Expectations
jmmastey
46
7.7k
Typedesign – Prime Four
hannesfritz
42
2.9k
jQuery: Nuts, Bolts and Bling
dougneiner
65
7.9k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.3k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Embracing the Ebb and Flow
colly
88
4.9k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Being A Developer After 40
akosma
91
590k
The Cost Of JavaScript in 2023
addyosmani
55
9.1k
Transcript
VASILYͰͷΞϓϦ։ൃʹ͓͚Δ ࣗಈԽͷऔΓΈ Minami Aoyama Night #2 Ryosuke Horie VASILY, inc.
ࣗݾհ @Horie1024 ▸ ງߐ ྄հ / Ryosuke Horie ▸ લ৬:
ϙʔλϧαΠτ Web / ΞϓϦ։ൃ ▸ 2લʹVASILYʹத్ೖࣾ ▸ ΞϓϦ։ൃ෦ AndroidνʔϜ ▸ Twitter GitHub Qiita: @Horie1024
ձࣾհ ▸ ձ໊ࣾ: גࣜձࣾVASILY / VASILY, inc. ▸ ॴࡏ: ౦ژ۠ޒా2ஸ23-5
δχΞεϏε 6F ▸ ैۀһ: 35໊ ▸ ΤϯδχΞ: 16໊
2016 Google Play ϕετΠϊϕʔςΟϒΞϓϦ େड
▸ ݟ͔ͭΔɺങ͑ΔɺͨΊΒΕΔʮIQON(ΞΠίϯ)ʯ ▸ ձһ250ສ ▸ ΞΠςϜ૯1200ສҎ্ ▸ 300Ҏ্ͷECαΠτͷσʔλΛܝࡌ Θͨ͠ͷʮ͖ʯ͕͜͜ʹ͋Δ
▸ SNAP by IQON ▸ https://snap.ne.jp/ ▸ ਂֶशʹΑΔεφοϓࣸਅ͔ΒͷΞΠςϜݕग़ ▸ ྨࣅΞΠςϜͷදࣔɾߪೖ
͕͋͜Είʔσʹͬͱۙͮ͘
▸ KDDIגࣜձࣾͱఏܞ ▸ ӡӦͷECϞʔϧʮWowma!ʯʹը૾ղੳٕज़Λఏڙ ▸ Wowma!αΠτͰWowma!ίʔσSNAPΛ։࢝ ▸ ΞϓϦ։ൃͰڠྗ ▸ Ұॹʹ࡞Γ͍ͨਓืूʂSwift,
KotlinͰ։ൃʂ Wowma! ✕ IQON
࣍ ▸ ։ൃମ੍ͷհ ▸ ࣗಈԽʹ͍ͭͯ ▸ ԿނࣗಈԽ͢Δͷ͔ ▸ ۩ମྫͷհ
։ൃମ੍ VASILYͷΞϓϦ։ൃΛࢧ͑Δ
։ൃମ੍ ▸ ༷ʑͳνʔϜͷڠྗ͕ඞཁ ▸ ΞϓϦ։ൃ෦ ▸ σβΠϯ෦ ▸ ։ൃ෦
։ൃମ੍ ΞϓϦ։ൃ෦ ▸ iOSɺAndroidΞϓϦ։ൃ ▸ IQONΛؚΉΞϓϦ։ൃશൠΛ୲ ▸ iOS ▸ 3ਓ
▸ Android ▸ 2ਓ + Πϯλʔϯ1ਓ
։ൃମ੍ ΞϓϦ։ൃ෦ ▸ ։ൃڥ ▸ iOS ▸ Swift 3.0.2 ▸
Android ▸ Java, Kotlin, ReactNative
։ൃମ੍ σβΠϯ෦ ▸ WebɺiOSɺAndroid ͦͷଞσβΠϯ͕ؔ͢Δ෦ͯ͢ ▸ iOSɺAndroidɺOSผͰઐͷσβΠφʔ ▸ IQONಠࣗͷσβΠϯΨΠυϥΠϯΛ࡞ ▸
֤OSͷσβΠϯΨΠυϥΠϯʹ४ڌ
։ൃମ੍ ։ൃ෦ (όοΫΤϯυ) ▸ ج൫ͱͳΔγεςϜͷݚڀͱ։ൃ ▸ API ▸ Ϋϩʔϥʔ ▸
Πϯϑϥ ▸ σʔλαΠΤϯε
ࣗಈԽ VASILYͷΞϓϦ։ൃΛࢧ͑Δ
ࣗಈԽ ԿނࣗಈԽ͢Δͷ͔ʁ
ࣗಈԽ ԿނࣗಈԽ͢Δͷ͔ʁ ▸ ָΛ͢ΔͨΊ
ࣗಈԽ ԿނࣗಈԽ͢Δͷ͔ʁ ▸ ָΛ͢ΔͨΊ ▸ ࣗಈԽ͢Δ͜ͱࣗମָ͕͍ͨ͠Ί
ࣗಈԽ ԿނࣗಈԽ͢Δͷ͔ʁ ▸ ָΛ͢ΔͨΊ ▸ ࣗಈԽ͢Δ͜ͱࣗମָ͕͍ͨ͠Ί ▸ ۀޮɺੜ࢈ੑΛ্͠ՌΛग़ͨ͢Ί
ࣗಈԽ ԿނࣗಈԽ͢Δͷ͔ʁ ▸ ָΛ͢ΔͨΊ ▸ ࣗಈԽ͢Δ͜ͱࣗମָ͕͍ͨ͠Ί ▸ ۀޮɺੜ࢈ੑΛ্͠ՌΛग़ͨ͢Ί
ࣗಈԽ Ռʁ ▸ VASILYͰΞϓϦ։ൃʹٻΊΒΕΔՌ ▸ ࣭ ▸ εϐʔυ
ࣗಈԽ Ռʁ ▸ VASILYͰΞϓϦ։ൃʹٻΊΒΕΔՌ ▸ ࣭ ▸ Ϋϥογϡ ▸ όά͕গͳ͍
≒ ѱ͍ϨϏϡʔɾ͍߹Θ͕ͤগͳ͍ ▸ ಈ࡞͕ܰշɺ͍͍͢UI etc… ▸ εϐʔυ ▸ ։ൃ
ࣗಈԽ ԿނࣗಈԽ͢Δͷ͔ʁ ▸ ٻΊΒΕΔ࣭ɾεϐʔυΛ࣮ݱ͢ΔͨΊ
ࣗಈԽ ԿނࣗಈԽ͢Δͷ͔ʁ ▸ ٻΊΒΕΔ࣭ɾεϐʔυΛ࣮ݱ͢ΔͨΊ ▸ ۩ମతʹߦ͍ͬͯΔͷҎԼͷ3 ▸ CI/CDڥͷߏங ▸ ։ൃϑϩʔͷվળ
▸ ։ൃҎ֎ͷۀվળ
CI/CDڥͷߏங
ࣗಈԽ CI/CDڥͷߏங iOS Android CIαʔό Travis CI Wercker ੩తղੳ -
◦ Ϣχοτςετ - ◦ ࣗಈσϓϩΠ - ◦ ▸ iOSTravis CIΛར༻ ▸ ϏϧυͷΈ࣮ߦ ▸ Swift LintΛϩʔΧϧͰ࣮ߦ ▸ AndroidWerckerΛར༻ ▸ Android LintɺϢχοτςετΛ࣮ߦ
ࣗಈԽ AndroidͷCI/CDڥ ▸ CIαʔό ▸ ॳCircle CIΛར༻ ▸ OOMͷଟൃ ▸
Circle CI͔ΒWerckerʹҠߦ ▸ Ϗϧυ͕࣌ؒ10͔Β3ʹॖ
ࣗಈԽ AndroidͷCI/CDڥ ▸ ࣾʹfabric BetaΛར༻ ▸ QAɾϦϦʔεલ֬ೝ࣌ʹࣗಈ
ࣗಈԽ AndroidͷCI/CDڥ ▸ ࣗಈσϓϩΠ ▸ masterͷϚʔδΛτϦΨʔ ▸ ΞϧϑΝঢ়ଶͰAPKΛΞοϓϩʔυ ▸ ಈ࡞֬ೝޙɺ൛ʹมߋ
▸ ίϯιʔϧ͔ΒखಈͰมߋ ▸ ϦϦʔεྃ
ࣗಈԽ ΞʔΩςΫνϟͱςετ ▸ ΞϓϦͷΞʔΩςΫνϟ ▸ MVVM ͘͠ MVP Architecting Android...The
clean way?ΑΓ
ࣗಈԽ ΞʔΩςΫνϟͱςετ ▸ ΞϓϦͷΞʔΩςΫνϟ ▸ MVVM ͘͠ MVP ▸ υϝΠϯʹ͍ͭͯςετΛॻ͘
▸ ΧόϨοδ͋·Γؾʹ͠ͳ͍ ▸ ϓϨθϯςʔγϣϯɾσʔλ ▸ ςετॻ͍͍ͯͳ͍ Architecting Android...The clean way?ΑΓ
ࣗಈԽ ϓϨθϯςʔγϣϯͷςετΛ͠ͳ͍ʁ ▸ ࣗಈԽ͞Εͨςετίετ͕ߴ͘ग़དྷ͍ͯͳ͍ ▸ ϨΠΞτ͕ෳࡶͰසൟʹมΘΔࣄ͕ଟ͍ ▸ ςετίʔυΛϝϯςφϯεग़དྷͳ͍ ▸ CIαʔόͰಈ͔͢ʹΤϛϡϨʔλ͕ॏ͍
▸ AWS Device FarmɺFirebase Test LabΛݕূ͕ͨ͠ະ༻ (Androd) ▸ GitHub + CircleCIͰAWS Device FarmͰͷςετΛࣗಈԽ ▸ Firebase Test LabΛͬͨAndroidΞϓϦͷςετ ▸ खಈͰͷςετɺQAΛް࣮͘ࢪ
։ൃϑϩʔͷվળ
ࣗಈԽ ։ൃϑϩʔͷվળ ▸ iOSɺAndroidڞʹಉ͡ϑϩʔ ▸ ։ൃϑϩʔΛ؍͠վળͰ͖ͦ͏ͳՕॴΛൃݟ ▸ ίʔυ͘͠πʔϧͰग़དྷΔͱ͜Ζ͔ΒࣗಈԽ ▸ ੜ࢈ੑͱޮΛྑ࣭ͯ͘͠ͱεϐʔυΛ্͛Δ
༷ UIઃܭ APIઃܭ ࣮ ΞϓϦ࣮ QA ϦϦʔε
ࣗಈԽ UIͷઃܭͱ࣮ ▸ ΤϯδχΞɺσβΠφʔͷΓऔΓ͕ൃੜ ▸ ग़དྷΔ͚ͩݮΒ͍ͨ͠ ▸ ΓऔΓ͕ଟ͘ൃੜ͢Δͱޮ͕ѱ͍ https://www.websequencediagrams.com
ࣗಈԽ UIͷઃܭͱ࣮ ▸ σβΠϯ༷ͷॻ͖ग़͠ͱୡ ▸ πʔϧΛಋೖͯࣗ͠ಈԽ ▸ SketchɺZeplinΛ׆༻ ▸ 1ClickͰZeplinͷΤΫεϙʔτ
▸ ΤϯδχΞZeplinͰ༷֬ೝ
ࣗಈԽ APIͷઃܭͱ࣮ ▸ API͕࣮͞ΕΔ·ͰΞϓϦͷ࣮͕ਐ·ͳ͍ ▸ apiaryͰAPIϨεϙϯεΛઃܭ ▸ ఆٛͨ͠ϨεϙϯεΛฦ͢ϞοΫαʔό͕ࣗಈੜ ▸ apiaryͷϞοΫαʔόΛར༻͠ΞϓϦ։ൃ
▸ APIͷ࣮Λͨͣʹ։ൃΛਐΊΒΕΔ
ࣗಈԽ QA ▸ ϦϦʔεલʹ࣮ࢪ QAγʔτʹهೖ ▸ ࢦఠʹରԠ͠ͳ͚ΕϦϦʔεෆՄ ▸ QAͷ४උ͕͔͔࣌ؒΔ ▸
४උΛࣗಈԽ ▸ ϦϦʔεϊʔτɺQAγʔτͷ࡞ ▸ ΞϓϦࣾ (AndroidͷΈ) ▸ http://tech.vasily.jp/entry/android_qa_automation
։ൃҎ֎ͷۀվળ
ࣗಈԽ ։ൃҎ֎ͷۀվળ ▸ ࣾͰखಈͰߦ͍ͬͯΔ࡞ۀΛࣗಈԽ ▸ ࣗɺॴଐνʔϜҎ֎ͷਓͷੜ࢈ੑɺۀޮͷ্Λॿ͚Δ ▸ ࣾશମͰՌΛग़ͤΔΑ͏ʹ͢Δ
ࣗಈԽ ։ൃҎ֎ͷۀվળ ▸ ྫ: ఆྫϛʔςΟϯάࢿྉͷࣗಈੜ ▸ Slack͔ΒBotܦ༝Ͱ࡞ ▸ Qiita APIΛ׆༻
▸ खಈͰ࡞͢Δ࣌ؒΛݮ
ࣗಈԽ ։ൃҎ֎ͷۀվળ ▸ ࣾνϟοτBotษڧձΛ։࠵ ▸ BotΛ࡞ΕΔਓΛ૿͢ ▸ ֤͕ࣗ՝Λݟ͚ͭվળͰ͖ΔΑ͏ʹ͢Δత
·ͱΊ
·ͱΊ ▸ ࣗಈԽՌΛग़ͨ͢ΊʹऔΓΜͰ͍Δ ▸ ࣗಈԽ͢Δ͜ͱͰۀޮɺੜ࢈ੑΛ্ͤ͞ՌΛग़͘͢͢͠Δ ▸ ։ൃҎ֎ͷ෦ͰࣗಈԽΛਐΊΔ͜ͱͰࣾશମͰՌΛग़͘͢͠ͳΔͣ
We’re Hiring!
͋Γ͕ͱ͏͍͟͝·ͨ͠