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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Ryosuke Horie
March 17, 2017
Research
800
1
Share
VASILYでのアプリ開発における自動化の取り組み
Ryosuke Horie
March 17, 2017
More Decks by Ryosuke Horie
See All by Ryosuke Horie
Androidifyから学ぶFirebase AI Logic SDKの使い方
horie1024
0
63
GitHub Copilot Use Cases at ZOZO
horie1024
1
2.7k
Miro × ZOZO ZOZOのMiro活用事例紹介
horie1024
0
2.8k
GitHub Copilotは開発者の生産性をどれだけ上げるのか?ZOZOでの全社導入とその効果 / How Much Does GitHub Copilot Improve Developer Productivity? The Company-wide Implementation and Its Effects at ZOZO
horie1024
36
29k
ZOZOTOWNにおける開発生産性向上に関する取り組み / Initiatives to Improve Development Productivity at ZOZOTOWN
horie1024
8
6.7k
How does the Relay connect Android app development and Design?
horie1024
2
2.2k
既存画面の Jetpack Composeでの書き換え: FAANSでの事例紹介 / Case study of rewriting existing screens with Jetpack Compose
horie1024
0
2k
スキルマップを作った話 / Create a skills map
horie1024
3
4.7k
Miroを使った開発効率向上のための取り組み / Using Miro Efforts to Improve Development Efficiency
horie1024
0
2.7k
Other Decks in Research
See All in Research
YOLO26_ Key Architectural Enhancements and Performance Benchmarking for Real-Time Object Detection
satai
3
270
一般道の交通量減少と速度低下についての全国分析と熊本市におけるケーススタディ(20251122 土木計画学研究発表会)
trafficbrain
0
190
社内データ分析AIエージェントを できるだけ使いやすくする工夫
fufufukakaka
1
1k
言語モデルから言語について語る際に押さえておきたいこと
eumesy
PRO
5
2k
Grounding Text Complexity Control in Defined Linguistic Difficulty [Keynote@*SEM2025]
yukiar
0
150
FUSE-RSVLM: Feature Fusion Vision-Language Model for Remote Sensing
satai
3
350
はじまりの クエスチョンブック —余暇と豊かさにあふれた社会とは?
culturaltransition
PRO
0
280
機械学習で作った ポケモン対戦bot で 遊ぼう!
fufufukakaka
0
120
【NICOGRAPH2025】Photographic Conviviality: ボディペイント・ワークショップによる 同時的かつ共生的な写真体験
toremolo72
0
210
Ankylosing Spondylitis
ankh2054
0
160
姫路市 -都市OSの「再実装」-
hopin
0
1.7k
AIを叩き台として、 「検証」から「共創」へと進化するリサーチ
mela_dayo
0
220
Featured
See All Featured
Context Engineering - Making Every Token Count
addyosmani
9
790
Music & Morning Musume
bryan
47
7.1k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.7k
Done Done
chrislema
186
16k
Statistics for Hackers
jakevdp
799
230k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.4k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
130
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
260
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.4k
Discover your Explorer Soul
emna__ayadi
2
1.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!
͋Γ͕ͱ͏͍͟͝·ͨ͠