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
Devin で iOS の PR から Android のコードを生成する / Generat...
Search
Yuki Anzai
October 30, 2025
Technology
270
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Devin で iOS の PR から Android のコードを生成する / Generate Android code from iOS PR using Devin
五反田.mobile ~モバイルアプリ × AI~
https://gotanda-mobile.connpass.com/event/369003/
Yuki Anzai
October 30, 2025
More Decks by Yuki Anzai
See All by Yuki Anzai
Compose 新機能総まとめ / What's New in Jetpack Compose
yanzm
0
160
StackChan 買いました / I bought my StackChan
yanzm
0
41
Android の公式 Skill / Android skills
yanzm
0
200
Android Studio Otter の最新 Gemini 機能 / Latest Gemini features in Android Studio Otter
yanzm
0
1.2k
AI ツールを活用したコードリーディング - Android の公式サンプル Now in Android のソースコードを読んでみよう - / Code reading with AI tools
yanzm
1
680
EncryptedSharedPreferences が deprecated になっちゃった!どうしよう! / Oh no! EncryptedSharedPreferences has been deprecated! What should I do?
yanzm
0
3.2k
Devinを使ったモバイルアプリ開発 / Mobile app development with Devin
yanzm
0
450
Android Studio の 新しいAI機能を試してみよう / Try out the new AI features in Android Studio
yanzm
0
470
What’s new in Android development tools
yanzm
0
1k
Other Decks in Technology
See All in Technology
公式ドキュメントの歩き方etc
coco_se
0
100
SRE Next 2026 何でも屋からの脱却
bto
0
630
誤解だらけの開発生産性 / Myths and Misconceptions about Developer Productivity
i35_267
1
240
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
110k
脱金融のフューチャー・デザイン / Future Design Beyond Finance
ks91
PRO
0
150
SRE Lounge Hiroshimaへの招待
grimoh
0
640
AI駆動開発におけるQAエンジニアの役割事例 〜AI駆動開発の現場から〜
kobayashiyorimitsu
0
500
Empower GenAI with Agile - あなたのアジャイルが生成AIのバフになる仕組み
hageyahhoo
1
180
凡エンジニアがこの先生きのこるためには。〜TypeScript完全に理解したい〜
alchemy1115
2
170
はじめてのWDM
miyukichi_ospf
1
140
Amazon EVS で VCF 9.0 / 9.1 のサポート開始まとめ
mtoyoda
0
290
「早く出す」より「事業に効く」 ── 顧客の業務サイクルから逆算するAI時代の二重ループ開発と「変化の設計者」 / devsumi2026
rakus_dev
1
220
Featured
See All Featured
WCS-LA-2024
lcolladotor
0
680
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
67k
Building an army of robots
kneath
306
46k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
170
sira's awesome portfolio website redesign presentation
elsirapls
0
300
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.4k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
220
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
330
Documentation Writing (for coders)
carmenintech
77
5.4k
Optimizing for Happiness
mojombo
378
71k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Transcript
͋Μ͍͟Ώ͖ (@yanzm) %FWJOͰJ04ͷ13͔Β "OESPJEͷίʔυΛੜ͢Δ 1 2025.09.30 at ޒా.mobile
:VLJ"O[BJ w "OESPJE&OHJOFFS w (PPHMF%FWFMPQFS&YQFSUGPS"OESPJE w 9 UXJUUFS !ZBO[N w
CMPHZBO[NCMPHTQPUDPN w גࣜձࣾϑΟΧදऔక w ࡳຈɾؔ౦ڌੜ׆ 2
%FWJO w IUUQTEFWJOBJ w Ϋϥυ্Ͱಠཱͯ͠ಈ͘ w 4MBDL(JUIVCͱ࿈ܞ w 4MBDL͔Β!%FWJOͰ࡞ۀΛࢦࣔͰ͖Δ w
ෳͷ(JUIVCϦϙδτϦΛొͰ͖Δ w 1VMM3FRVFTUΛ࡞Ͱ͖ɺ13্ͷϨϏϡʔʹࣗಈͰԠͯ͠ରԠ͢Δ w ͔Β͑Δ 3
%FWJOͷهࣄ w IUUQTCMPHTNBSUCBOLDPKQFOUSZNPCJMFEFWFMPQNFOU XJUIEFWJO 4
5
6
ϞόΠϧΞϓϦͰͷ%FWJOͷ͍ॴ w ௐࠪ w ϦϑΝΫλϦϯά w ௨৴෦ͷ࣮ w 6*ͷ࣮ʢ͢Ͱʹࣅͨը໘ͷ࣮͕ଘࡏ͍ͯ͠Δ߹ʣ w
"OESPJEJ04ͷ࣮ʢ13ʣ͔Β͏Ұํͷ࣮Λͤ͞Δ 7
࣮ࡍʹͬͯΈΔ 8
໌ࣔతͳ,OPXMFEHF͜Ε͚ͩ 9
Ϟσϧͷ࡞ 10 ͜ΕΛՃ͚ͨͩ͠
J04ͷ13 11
"OESPJEͷߏ 12 api Ϟδϡʔϧ ͱ model Ϟδϡʔϧ Ψϫ͚ͩ
13
14
15 PR ΛνΣοΫ
16 PR ͷϒϥϯνͱͷ di ff ΛνΣοΫ
17 TODO ϦετΛ࡞
18 ύεʹ model ͔ models ؚ͕·ΕΔ σΟϨΫτϦΛ୳͍ͯ͠Δ ʢͲ͜ʹ Bean.kt Λஔ͔ܾ͘ΊΔͨΊʣ
͜ΕʹΑΓ ./core/model ͕ݟ͔ͭΔ * Bean.swift Package/Sources/Domain/Models/ ʹ͋Δ
19 core/model ҎԼͷ .kt ϑΝΠϧ Λ୳͍ͯ͠Δ ʢͲ͜ʹ Bean.kt Λஔ͔ܾ͘ΊΔͨΊʣ ·ͩϑΝΠϧ͕ͳ͍ͷͰ
fi nd ͷ݁Ռͳ͠
20 طଘͷ .kt ϑΝΠϧ͕ͳ͔ͬͨͷͰ build.gradle.kts ΛಡΜͰ ʢͨͿΜʣnamespece Λऔ͖͍ͬͯͯΔ
21 Android ͷ͓࡞๏ʹैͬͯ src/main/java/ ͷԼʹ build.gradle.kts ͷ namespace ʢnet.yanzm.co ff
eelog.core.modelʣ ͱಉ͡ߏͷ σΟϨΫτϦ ʢʹύοέʔδʣ Λ࡞ ʢsrc/main/kotlin ͩͬͨΒ 100ͩͬͨͳʙʣ
22 0.34 ACUs
23
24 iOS Android
25 iOS Android ⭕ :core:model ͷஔ ⭕ Kotlin Ͱ࣮ ⭕
data class ༻ ⭕ దͳ Kotlin ܕ
ݕূʣσϑΥϧτϒϥϯνҎ֎͔Β13Λ࡞ͬͯ͘ΕΔ͔ʁ 26
ݕূʣσϑΥϧτϒϥϯνҎ֎͔Β13Λ࡞ͬͯ͘ΕΔ͔ʁ 27 σϑΥϧτϒϥϯνͷ·· ௐ͍ࠪͯ͠Δ
ݕূʣσϑΥϧτϒϥϯνҎ֎͔Β13Λ࡞ͬͯ͘ΕΔ͔ʁ 28 σϑΥϧτϒϥϯνͷ·· Bean ࡞͠ɺ Ϗϧυͱ lint Λ࣮ߦ ͜͜Ͱ dev1
ΛνΣοΫΞτ͠ɺ PR༻ͷϒϥϯν࡞ ͦͷޙίϛοτ
ݕূʣσϑΥϧτϒϥϯνҎ֎͔Β13Λ࡞ͬͯ͘ΕΔ͔ʁ 29 σϑΥϧτϒϥϯνͷ·· Bean ࡞͠ɺ Ϗϧυͱ lint Λ࣮ߦ ͜͜Ͱ dev1
ΛνΣοΫΞτ͠ɺ PR༻ͷϒϥϯν࡞ ͦͷޙίϛοτ ࠷ॳ͔ΒϕʔεϒϥϯνͰ࡞ۀͯ͠ ཉ͍͠ʂ
30 ͪΌΜͱ dev1 Λ νΣοΫΞτ͔ͯ͠Β ௐ͍ࠪͯ͠Δ
,OPXMFEHFʹՃͯ͠ΈΔ 31
32
33 dev1 Λ νΣοΫΞτ ͔ͯ͠Βௐ͍ࠪͯ͠Δ
ݕূʣઌʹLUϑΝΠϧ͕͋Δ߹ 34
35 src/main/kotlin ҎԼʹ ͋Δطଘͷ Dummy.kt Λൃݟ src/main/java Λ࡞ͤͣ src/main/kotlin ҎԼͷ
ಉ͡ͱ͜Ζʹ Bean Λஔ
"1*ΞΫηεͷ࣮ 36 Ճ
J04ͷ13 37
"OESPJEͷߏ 38 Retro fi t ͷ client ఆٛ Kotlin Serialization
Λ ͍ͬͯΔ response Ϋϥε
39 ϕʔεϒϥϯνΛ checkout ύεʹ core ͘͠ api ΛؚΉ .kt ΫϥεΛݕࡧ
ApiClient, DummyResponse ͷதΛ֬ೝ
40 0.41 ACUs
41
42 ⭕ ApiClient interface ʹϝιο υՃ ⭕ Retro fi t
Ξϊςʔγϣϯͷར༻ ⭕ Kotlin Serialization Ξϊςʔ γϣϯͷར༻
6*ͷ࣮ 43 Ճ
44 app ͱ feature Ͱݕࡧ feature/bean ϞδϡʔϧΛ νΣοΫ
45 0.72 ACUs
46 iOS Android :feature:bean Ϟδϡʔϧʹ࡞͞ΕͯΔ
47 iOS Android iOS ͬΆ͍ Composable ͷState Λ ͍͍ͨͳΒ໌͕ࣔඞཁͦ͏
48 iOS Android BeanScreen, BeanContent ߹ΘͤͯΔ
49 iOS Android UiState Ͱͷ ग़͠Θ͚
50 iOS Android
ෳࡶͳ13ͷ߹ 51
ෳࡶͳ13ͷ߹ w ϩάͷ߲Ճ w σόοάը໘ͷมߋ w 6*ͷ࣮ʢը૾ͷՃؚΉʣ w ը໘ભҠͷ࣮ w
7JFX.PEFMͷ࣮ 52
ෳࡶͳ13ͷ߹ w ΄΅⭕ϩάͷ߲Ճ w ⭕σόοάը໘ͷมߋ w ˚6*ͷ࣮ʢը૾ͷՃؚΉʣ w ⭕จࣈྻϦιʔεͷՃ w
˚ը૾ͷՃ 53 w ⭕ը໘ભҠͷ࣮ w ΄΅⭕7JFX.PEFMͷ࣮
΄΅⭕ϩάͷ߲Ճ 54 iOS Android PfmLevel pre fi x ͕ͳ͍ ⭕
⭕σόοάը໘ͷมߋ 55 iOS Android ⭕ ͦΕ༻ͷ composable ͍ͬͯΔ
˚6*ͷ࣮ w ը૾Ҏ֎΄΅ᘳ w ϓϨϏϡʔͷ࡞0, w Ͱ͖͗ͯͯ͢ා͍ w طଘʹࣅ͍ͯΔ࣮ɺࢀߟʹͳ Δ࣮͕ͨ͘͞Μ͋Δͷ͕ޮ͍
ͯͦ͏ʁ 56 Android
57 ⭕ design-system ͷ composable ⭕ UiState Ͱͷग़͠Θ͚ ⭕ design-system
ͷ composable
❌ը૾ͷՃ 58 iOS Android શવҧ͏ը૾͕Ճ͞Εͨ… Ͳ͔͜Βʁʁʁʁ
⭕ը໘ભҠͷ࣮ 59 Android
·ͱΊ w "OESPJEJ04ͷ࣮ʢ13ʣ͔Β͏Ұํͷ࣮Λͤ͞Δ w যΛߜͬͨখ͍͞13ˠ͔ͳΓ֬ߴ͍ w ͍Ζ͍Ζͳมߋ͕ೖͬͨେ͖͍13ˠ͍͚Δ w ରԠ͕ؔطଘͷίʔυϕʔε͔ΒΘ͔Γʹ͍͘ w
͕֬Լ͕ΔͷͰ"OESPJEˡˠJ04ͷରԠʢมʣͷࣝΛ͢ͱ⭕ w ίʔυϕʔεҰ؏ੑͷ͋Δߏʹ͠Α͏