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
300
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
450
StackChan 買いました / I bought my StackChan
yanzm
0
62
Android の公式 Skill / Android skills
yanzm
0
240
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
830
EncryptedSharedPreferences が deprecated になっちゃった!どうしよう! / Oh no! EncryptedSharedPreferences has been deprecated! What should I do?
yanzm
0
3.3k
Devinを使ったモバイルアプリ開発 / Mobile app development with Devin
yanzm
0
480
Android Studio の 新しいAI機能を試してみよう / Try out the new AI features in Android Studio
yanzm
0
490
What’s new in Android development tools
yanzm
0
1.1k
Other Decks in Technology
See All in Technology
長期運営で肥大化したExcelマスターデータの解消に向けた移行事例
gree_tech
PRO
0
510
OAuth SPIFFE Client Authentication(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
270
AI時代の「OAuth認証」にどう物申すか?(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
250
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.5k
AIエージェントのためのデータ設計
daiz21
0
220
Kiro5兄弟のいまどきのセキュリティ基礎知識
kentapapa
0
240
医療の現場を変革に挑戦した半年間の軌跡 - PythonとAIで現場を変える / From Code to Care
soudai
PRO
1
620
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3.2k
AI開発に用いられるHPC技術について
gpuunite_official
0
280
カーネルまで探検して理解するふたつの自動計装
sumiyae
0
310
Rust×eBPFでEDRっぽいものをつくる
sunlife3
2
970
Claude Teamプランの コスト最適化を考える
rfdnxbro
0
690
Featured
See All Featured
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
420
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
The SEO identity crisis: Don't let AI make you average
varn
0
540
WCS-LA-2024
lcolladotor
0
810
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6.1k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
[SF Ruby Conf 2025] Rails X
palkan
2
1.3k
Embracing the Ebb and Flow
colly
88
5.1k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.2k
KATA
mclloyd
PRO
35
15k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
260
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 ίʔυϕʔεҰ؏ੑͷ͋Δߏʹ͠Α͏