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
290
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
410
StackChan 買いました / I bought my StackChan
yanzm
0
55
Android の公式 Skill / Android skills
yanzm
0
220
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
780
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
Invisible to AI? Making TYPO3 Sites Quotable by AI Search Systems
wolfgangwagner
0
200
[しろおび夏祭り2026] チャットするAIから、作業するAIへ - 使われ方の変化と、その裏側で起きていること
kk0n
0
1.7k
SO-101×VLAによる3色キューブのピック&プレース
abeja
0
200
同じWAFが、攻撃の“形”は弾く── 正当な“形”の不正は通す
kuroneko13
0
180
Master Dataグループ紹介資料
sansan33
PRO
1
4.8k
会社紹介資料 / Sansan Company Profile
sansan33
PRO
23
430k
ホームラボ紹介
y_sera15
0
160
【CEDEC2026】コードレビュー支援ツール開発から学ぶ:LLMを用いた業務システムの実践的な運用設計と誤出力対策
cygames
PRO
0
730
Forza Horizon 6 のテレメトリ機能で 自動運転に使えそうな学習データを集める話
henjin0
0
170
Sets in Go
ramalho
1
410
攻撃と防御で学ぶAI時代のプロダクトセキュリティ演習
recruitengineers
PRO
9
2.7k
Webアクセシビリティ入門 2026
recruitengineers
PRO
3
560
Featured
See All Featured
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
170
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
640
Test your architecture with Archunit
thirion
1
2.3k
Into the Great Unknown - MozCon
thekraken
41
2.7k
Why Our Code Smells
bkeepers
PRO
340
58k
Product Roadmaps are Hard
iamctodd
55
12k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
650
The SEO Collaboration Effect
kristinabergwall1
1
520
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
410
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
400
Paper Plane
katiecoart
PRO
2
53k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
200
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 ίʔυϕʔεҰ؏ੑͷ͋Δߏʹ͠Α͏