Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Devin で iOS の PR から Android のコードを生成する / Generat...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Yuki Anzai
October 30, 2025
Technology
320
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
Nav2、Nav3 ... はたまた自作?〜 作って理解する Nav3 の設計意図 〜 / Nav2, Nav3 ... or Build Your Own? — Understanding Nav3's design intent by building it from scratch
yanzm
0
330
Compose 新機能総まとめ / What's New in Jetpack Compose
yanzm
0
520
StackChan 買いました / I bought my StackChan
yanzm
0
87
Android の公式 Skill / Android skills
yanzm
0
260
Android Studio Otter の最新 Gemini 機能 / Latest Gemini features in Android Studio Otter
yanzm
0
1.3k
AI ツールを活用したコードリーディング - Android の公式サンプル Now in Android のソースコードを読んでみよう - / Code reading with AI tools
yanzm
1
930
EncryptedSharedPreferences が deprecated になっちゃった!どうしよう! / Oh no! EncryptedSharedPreferences has been deprecated! What should I do?
yanzm
0
3.5k
Devinを使ったモバイルアプリ開発 / Mobile app development with Devin
yanzm
0
530
Android Studio の 新しいAI機能を試してみよう / Try out the new AI features in Android Studio
yanzm
0
510
Other Decks in Technology
See All in Technology
SDDの運用にめげずに向き合った話
sansantech
PRO
0
130
The seven pitfalls of AI (revised version)
ufried
0
260
[2026 Oracle Technical Deep Dive] AI時代のデータベース基盤をどう選ぶ? Exadata Database Serviceの選択肢と使い分け (2026年9月17日開催)
oracle4engineer
PRO
0
220
Datadog の学び方 - あるいは、オブザーバビリティを学ぶとは何か
mananyuki
1
440
契約書画像からの情報抽出に特化した視覚接地モデルを育てる話
sansantech
PRO
1
140
Execution in the Kingdom of Agents: Reflections on Abstraction and Complexity
bcantrill
0
840
使いこなすために知っておきたい Azure SRE Agent アンチパターン
torumakabe
2
350
プロダクト価値を、 チームが使える判断軸に変える
vivion
0
110
HacobuにおけるFDEとは/登壇資料(戸井田 裕貴)
hacobu
PRO
1
780
オブザーバビリティを高める AI エージェント体験を考える / Designing AI Agent Experiences That Enhance Observability
aoto
PRO
2
300
営業オントロジーの作り方と、エージェントからの辿り方 ── ナレッジワークの現場から
kworkdev
PRO
1
260
事業活動を AI Ready にする攻めと守りのデータエンジニアリング / data-engineering-for-ai-ready-business
pei0804
1
180
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
300
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
460
ラッコキーワード サービス紹介資料
rakko
1
5.2M
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
320
Ten Tips & Tricks for a 🌱 transition
stuffmc
1
250
WCS-LA-2024
lcolladotor
0
840
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
390
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
46k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
550
Faster Mobile Websites
deanohume
310
32k
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 ίʔυϕʔεҰ؏ੑͷ͋Δߏʹ͠Α͏