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
Kotlin MPPと戯れるノクチル
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
subroh_0508
December 05, 2020
Technology
680
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Kotlin MPPと戯れるノクチル
アイマスハッカソン2020 オンライン!のLT資料です。
https://imas.connpass.com/event/194308/
subroh_0508
December 05, 2020
More Decks by subroh_0508
See All by subroh_0508
個人の生産性は青天井、そんな時代のエンジニアはチームに何をなすべきか
subroh0508
0
87
非定型なドキュメントを効率よくリファクタする 〜えぇ!?仕様書27本の移行が1日で終わったって!?〜
subroh0508
3
1.5k
Pull Request、AIレビューだけでマージしてOK?
subroh0508
1
120
ぼっちではじめた登壇が「51名」「241件」の発信に化けた
subroh0508
1
680
ポケモンの型をTypeScriptの型システムで表現してみた
subroh0508
2
520
"スキルファースト"で作る、AIの自走環境
subroh0508
2
1k
AIを賢くしたいなら、まずは人間の改善ループから
subroh0508
0
320
"S/N-GUL4R1TY"に向けて人類は何をすべきなのか
subroh0508
0
95
画面の向こうから「気づき」を得る 画面の向こうを「物差し」として捉える
subroh0508
1
470
Other Decks in Technology
See All in Technology
ビジネスを止めない技術的負債の返済のための戦略とその手法 - 技術的負債と向き合う / Complexity and Simplicity
soudai
PRO
3
660
生成AIと進める探索的データ分析(2026.10.03 第122回Tokyo.R勉強会)
tatamiya
2
1.4k
「Docker Desktop不要の時代」は 来たのか?
ueponx
0
210
DWH の限界突破! AI エージェント向け爆速リアルタイムデータ基盤 ClickHouse
jozono
1
260
AgentCoreで実践するハーネスエンジニアリング
yakumo
1
290
オンラインゲームのシステム全体像 - コロプラ 2026年度 新卒研修
colopl
0
910
脆弱性診断って、何をしているの? 〜弱点を見つけて、会社の改善につなげるまで〜
keeg
0
560
味覇で作るパスタが美味い - 20261001_yabaubuki.dev
livesense
PRO
0
100
[2026-09-30]ロックンロールは鳴り止まないっ - 信頼性かまってちゃん - 「データ駆動を投げ捨ててまで。」追いかける信頼性改善に向けた取り組みの話
tosite
0
210
あなたの知らないAmazon VPC Route Server/Amazon VPC Route Server you don't know about
masakiokuda
2
230
自主式軟體工廠
philipz
0
240
自律型 AI をセキュアに実装!Gemini と MIG で作る動的コード実行環境
recruitengineers
PRO
1
220
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.5k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
620
Art, The Web, and Tiny UX
lynnandtonic
304
22k
30 Presentation Tips
portentint
PRO
1
420
Discover your Explorer Soul
emna__ayadi
2
1.3k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.9k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
320
Leo the Paperboy
mayatellez
10
2.4k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
2
2k
A designer walks into a library…
pauljervisheath
211
25k
How to Ace a Technical Interview
jacobian
280
24k
Transcript
,PUMJO.11ͱٔΕΔϊΫνϧ ΞΠϚεϋοΧιϯΦϯϥΠϯʂ ʹ͜͠Γ͞ͿΖʙ!TVCSPI@
,PUMJO.11ͱٔΕΔϊΫνϧ ΞΠϚεϋοΧιϯΦϯϥΠϯʂ ʹ͜͠Γ͞ͿΖʙ!TVCSPI@ ˞தͷਓʹΦϑΝʔΛग़͓ۚ͢ͱݖྗ͕ͳ͔ͬͨͨΊ ɹ$7ɾʹ͜͠Γ͞ͿΖʙͰ͓ૹΓ͠·͢
3 ……………… ✦ ✦
4 ……͋ʙͬʂɹখࢳͪΌΜɺ͍͍ͨͨʙʂ େมେมʙʙʙʂɹ՝ڭ͑ͯʙʙʙʂ ࡊ ✦ ✦
5 খࢳ ✦ ✦ ……ͽΌ͊ʂʂʂɹͳɺͳΜͩɺࡊͪΌΜ͔……ɻ ͲɺͲ͏ͨ͠ͷʁɹύιίϯ࣋ͬͯΔͬͯ͜ͱɺใॲཧͷ՝ʁ
6 ͦ͏ͦ͏ɺใॲཧͷतۀɺͳΜ͔αϘΓ͗ͪ͢ΌͬͨΈ͍ͨͰʙɻ ΞϓϦ࡞Δ՝ɺ2ͭΒͳ͍ͱʹͳͬͪΌ͏Μͩͬͯʙʙʙʂ ࡊ ✦ ✦
7 ͑ͬ……͑͑ʙͬʂʂʂͦɺͦΕେมʂʂʂ ୲ɺಉ͡ઌੜ͔ͩΒɺ࡞Βͳ͖Ό͍͚ͳ͍ͷAndroidͱWebΞϓϦʁ খࢳ ✦ ✦
8 ͏ʙΜɺͦ͏ʂͦΕͰͶɺAndroidͷํখࢳͪΌΜ͕ڭ͑ͯ͘Εͨɺ ͔Θ͍͍ʙὑݴޠͰॻ͍ͨΒɺྑ͍ײ͡ʙʙʙʹͰ͖ͨΜͩʙʂ ࡊ ✦ ✦
9 ͔Θ͍͍ݴޠ……͜ɺKotlinͷ͜ͱʁɹ͢ɺ͍͢͝ɺ͏ͦΜͳʹॻ͚ΔΑ͏ʹͳͬͨͷʁ খࢳ ✦ ✦
10 ͚ͩͲͶʙɺWebͷํ͕શવ͔Βͳ͍ʂɹ͔ͩΒখࢳͪΌΜɺڭ͑ͯʙʙʙɻ ࡊ ✦ ✦
11 ͏ɺ͏Μɺྑ͍͚Ͳ……ɻࡊͪΌΜɺͲ͕͔͜Βͳ͍ͷʁ Webͩͱɺ͡ΌɺJavascript͔ͳʁɹจ๏͕ɺ͔Βͳ͍ͱ͔ʁ খࢳ ✦ ✦
12 ͡Ό……͘͢Γͱʙʁɹ͑ʙʙʙɺ͔ͯ͠͠ɺ·ͨ৽͍͠ݴޠ֮͑ͳ͖Όͳͷʙʙʙʁ ΊΜͲ͘͞ʙ͍ʂɹࡊɺͥʙΜͿKotlinͰॻ͖ͨʙ͍ʂ ࡊ ✦ ✦
13 ͦɺͦΜͳΘ͕··……ɻͩɺୈҰɺࡊͪΌΜ͕ͪΌΜͱतۀग़ͯΕ……ɻ খࢳ ✦ ✦
14 ͓ʔ͍ɺখࢳͪΌʔΜɻ ಁ ✦ ✦
15 ……ͽ͐͑͑͑ʂʂʂɹ……ɺ͏ʂɹಁͪΌΜʂɹ͓ɺ͓Ͳ͔͞ͳ͍ͰΑ……ʂ খࢳ ✦ ✦
16 ͝ΊΜ͝ΊΜɻͶɺͦΕΑΓ͞ɺ՝ɺॿ͚ͯɻ ಁ ✦ ✦
17 ……͑ɺ͑͑ʂʁɹͱɺಁͪΌΜ…ʁ খࢳ ✦ ✦
18 ͏Μɻͪΐͬͱɺςετɺ͔ͬͨɻ ิशͷ՝ͰɺWebͱεϚϗͷΞϓϦ࡞ΕͬͯݴΘΕͪΌͬͯ͞ɻ ಁ ✦ ✦
19 ՝ͷఏग़ظݶɺ໌͔ͩΒɻ͜Εؒʹ߹Θͳ͍ɺͬͯࢥͬͯɻ ͔ͩΒɺ͑ʔͬͱ……ɺͳΜͱ͔ͳΜͱ͔……Έ͍ͨͳͷͰόʔͬͱΓ͍ͨɻ ಁ ✦ ✦
20 ͳɺͳΜͱ͔ͳΜͱ͔……͑ʔͬͱɺ͘ɺΫϩεϓϥοτϑΥʔϜɺͷ͜ͱ͔ͳ……ʁ খࢳ ✦ ✦
21 ͦ͏ɺͦΕͦΕɻ1ճॻ͍ͨΒɺWebεϚϗζόʔϯͬͯͰ͖ͪΌ͏ͭɻ ಁ ✦ ✦
22 ͑ʙͳʹͦΕʙʙʙʂɹ͢͝ʙʙʙ͍ʂɹ͋͠Θͤʙὑͦ͏ʂ খࢳͪΌΜɺࡊΫϩεϓϥοτϑΥʔϜͱKotlinͰɺͣʙΜͱΞϓϦ࡞Γͨʙ͍ʂ ࡊ ✦ ✦
23 ͽɺͽ͑……ɻͨɺ͔֬ʹɺ2ਓͱ͞Εͨ࣌ؒগ͚ͩ͠ɺͳΜͩΑͶ……ʁ ͦΕͳΒKotlin MultiplatformΛ͑ɺͰɺͰ͖Δ͔…ʂ খࢳ ✦ ✦
24 ͑ʙʙʙɺͦΕͬͯKotlinͰॻ͚Δͷʙʙʙʂʁ ʙʙʙʂɹࡊɺָ͘͠ͳ͖ͬͯͨʙʙʙʂ ࡊ ✦ ✦
25 ΘɺΘͨͪ͠ΐͬͱ͔͠৮ͬͯͳ͍͔Βৄ͔͘͠Βͳ͍͚Ͳɺ ͰɺͰ3ਓ͍Εɺ͖ͬͱͰ͖ΔΑͶ……ʂ খࢳ ✦ ✦
26 ;;ɺͦ͏ͩͶɻ͜ͷ3ਓͳΒɺ՝ͳΜͯ͋ͬͱ͍͏ؒͰ͠ΐɻ ͦΕ͡ΌɺͬͪΌ͓͏͔ɺ͍͍͓͑͑ʔɻ ಁ ✦ ✦
27 ͓ɺ͓ʔʂ ͓ʙʙʙʂ খࢳɾࡊ ✦ ✦
28 ✦ ✦
29 ;;ɺKotlin MultiplatformɺͳΜΘ͔ΒΜɻ ಁ ✦ ✦
30 …… ԁ߳ ✦ ✦
31 ……Ͳ͏ͨ͠ͷɺ3ਓͱɻ ԁ߳ ✦ ✦
32 ……͋ɺ·ɺԁ߳ͪΌΜʂ ࠓɺKotlin MultiplatformͰใॲཧͷ՝ͬͯΔΜ͚ͩͲɺશવਐ·ͳͬͯ͘………ɻ খࢳ ✦ ✦
33 Kotlin MultiplatformʁɹνͷใॲཧͰͦΜͳʹ͍͠՝ɺग़ΔΘ͚ͳ͍Ͱ͠ΐɻ ԁ߳ ✦ ✦
34 ͋ɺ͏͏Μɺ՝ͦͷͷɺΞϓϦ͕࡞ΕΕOKͳΜͩɻ ͰɺͰɺಁͪΌΜͱࡊͪΌΜ͕……ɺͦͷɺޙ͕ͳ͍ঢ়گΒͯ͘͠……ɻ খࢳ ✦ ✦
35 Ṥޱʔɺ͚ͨͯ͢ʔɻ ಁ ✦ ✦
36 ……͊ɻํͳ͍ΘͶɻ Kotlin MultiplatformͳΒɺଟগΘ͔Δɻૡ͍ఠΜͰઆ໌͢Δ͔ΒɺͦΕͰ͍͍ʁ ԁ߳ ✦ ✦ ❓
37 ͍ɺ͍͍ͷɺԁ߳ͪΌΜʂ খࢳ ✦ ✦
38 ؾʹ͠ͳ͍ͰɻόΠτɺͦ͜ʹస͕ͬͯΔઙ͔ΒΉ͠ΓऔΔ͔Βɻ ԁ߳ ✦ ✦
39 Kotlin MultiplatformɺKotlinͷX-PlatϑϨʔϜϫʔΫͷ͜ͱΛࢦ͢ͷɻ RNXamarinͱେ͖͘ҟͳΔͷɺʮϩδοΫͷڞ௨ԽʯʹϑΥʔΧε͍ͯ͠Δͱ͜ΖͶɻ ͦͯ͠࠷ऴతͳՌɺJVM / Native / JSͷڥຖʹҟͳΔܗࣜͰग़ྗ͞ΕΔɺ͍͍ʁ ԁ߳
✦ ✦ ,PUMJO.VMUJQMBUGPSN .11 ,PUMJOͷ91MBUϑϨʔϜϫʔΫ ʮϩδοΫͷڞ௨ԽʯͷϑΥʔΧε͕ಛ +7./BUJWF+4ίʔυͷग़ྗ͕Մೳ 3FGFSFODFLPUMJOMBOHPSHEPDTSFGFSFODFNVMUJQMBUGPSNIUNM +7.ग़ྗ +4ग़ྗ /BUJWFग़ྗ
40 ͍ʙ͍ʂɹ͡Ό͊͡Ό͊ʙɺݴޠʹґଘ͠ͳ͍ڞ௨ͷϩδοΫΛʮCommon Kotlinʯͷ ͱ͜Ζʹ͏·ʙ͘·ͱΊͯॻ͚Εʙɺࠓ·Ͱ3ճಉ͜͡ͱΛॻ͍ͯͨͷ͕ͨͬͨ1ճʹऩ·ͬͯ ͋͠ΘͤʙὑʹͳΔͬͯ͜ͱʙʙʙʁ ࡊ ✦ ✦ ,PUMJO.VMUJQMBUGPSN .11
,PUMJOͷ91MBUϑϨʔϜϫʔΫ ʮϩδοΫͷڞ௨ԽʯͷϑΥʔΧε͕ಛ +7./BUJWF+4ίʔυͷग़ྗ͕Մೳ 3FGFSFODFLPUMJOMBOHPSHEPDTSFGFSFODFNVMUJQMBUGPSNIUNM +7.ग़ྗ +4ग़ྗ /BUJWFग़ྗ
41 ͦΜͳͱ͜ΖɻҿΈࠐΈ͕ૣ͍ΘͶɺࡊɻ ͜ͷʮڞ௨෦ʯΛͰ͖Δ͚ͩCommon Kotlinʹ·ͱΊɺʮϓϥοτϑΥʔϜຖʹҧ͏෦ʯΛ Ͱ͖ΔݶΓγϯϓϧʹ࣮͢Δɻ͜Ε͕Kotlin MPPͷجຊతͳ࣮ํʹͳΔͷɻ ԁ߳ ✦ ✦ ,PUMJO.VMUJQMBUGPSN
.11 ,PUMJOͷ91MBUϑϨʔϜϫʔΫ ʮϩδοΫͷڞ௨ԽʯͷϑΥʔΧε͕ಛ +7./BUJWF+4ίʔυͷग़ྗ͕Մೳ 3FGFSFODFLPUMJOMBOHPSHEPDTSFGFSFODFNVMUJQMBUGPSNIUNM +7.ग़ྗ +4ग़ྗ /BUJWFग़ྗ
42 ࣮ࡍͷKotlin MPPϓϩδΣΫτͷσΟϨΫτϦߏ͜Μͳײ͡ɻUIͷߏஙɺ ֤ܿ͘ϓϥοτϑΥʔϜຖͷ࣮ʹͤΔͷ͕Kotlin MPPɻ͔ͩΒandroid / ios / jsϞδϡʔϧΛ ༻ҙͯ͠ɺUIʹؔ͢ΔϓϥοτϑΥʔϜݻ༗ͷίʔυΛ·ͱΊΔඞཁ͕͋Δͷɻ
ԁ߳ ✦ ✦ σΟϨΫτϦߏ ᶃBOESPJE ᶄJPT ᶅKT ᶃ ᶄ ᶅ ˞ԼઢͷϑΝΠϧ͕ ϓϥοτϑΥʔϜຖͷϝΠϯը໘
43 ϓϥοτϑΥʔϜʹґଘͤͣɺڞ௨ԽͰ͖ΔίʔυΛஔ͘ͷ͜ͷϞδϡʔϧɻ Ϟδϡʔϧ໊ʮsharedʯʮcommonsʯͱͯ͠ཧ͢Δ͜ͱ͕ଟ͍ΘͶɻ σʔλΫϥεͷએݴۀϩδοΫɺAPIαʔόʔͷϦΫΤετ·ͱΊΔ͜ͱ͕Ͱ͖ΔΘɻ ԁ߳ ✦ ✦ σΟϨΫτϦߏ ˞TIBSFEʹͨ͘͞Μ ·ͱΊͨϓϩδΣΫτྫ
BQJ"1*$MJFOUΛఆٛ EC%#PS-PDBM$BDIFͷ$MJFOUΛఆٛ RVFSZ41"32-ΫΤϦͷఆٛ SFQPTJUPSZϞσϧຖʹ$36%ϝιουΛఆٛ NPEFMσʔλΫϥεͷએݴ QSFTFOUBUJPO6*ϩδοΫͷ࣮ VUJMJUJFTศརؔ܈
44 ͰɺsharedϞδϡʔϧҎԼͷߏ͜͏ɻ ԁ߳ ✦ ✦
45 ͋……ɺɺ͔ͯ͠͠ɺ͜ͷσΟϨΫτϦߏ͕ɺ͖ͬ͞ͷಉ৺ԁͷਤͱରԠ͍ͯ͠Δͷʁ commonMainͷԼʹڞ௨ͷϩδοΫΛॻ͍ͯɺͲ͏ͯ͠ϓϥοτϑΥʔϜґଘͷίʔυΛ ॻ͔ͳ͖Ό͍͚ͳ͍࣌ɺandroidMainiosMainʹॻ͍͍͚ͯɺ͍͍ͷ͔ͳ……ʁ খࢳ ✦ ✦ +7.ग़ྗ +4ग़ྗ /BUJWFग़ྗ
ڞ௨ͷϩδοΫ "OESPJEʹґଘ͢Δίʔυ J04ʹґଘ͢Δίʔυ +4ʹґଘ͢Δίʔυ
46 ͦͷ௨ΓΑɺখࢳɻ ͲͷϓϥοτϑΥʔϜͰڞ௨ͷϩδοΫΛ࣮͍ͨ͠ͳΒɺࢥͬͨ௨ΓͷίʔυΛKotlinͰ ͦͷ··commonMainҎԼʹ࣮͢ΕऴΘΓɻGradle͕ྑ͍ײ͡ʹՌΛग़ͯ͘͠ΕΔɻ ԁ߳ ✦ ✦ // จࣈΛग़ྗ͢Δϝιου class
Greeting { fun greeting() = "Hello!" } // on Android val tv: TextView = findViewById(R.id.text_view) tv.text = Greeting().greeting() // on JS(Kotlin/JS) render(document.getElementById("root")) { h3 { +Greeting().greeting() } } // on iOS(SwiftUI) var body: some View { Text(Greeting().greeting()) } ˞֤ϓϥοτϑΥʔϜͷ)FMMP 8PSME
47 ҰํͰɺྫ͑ϩάग़ྗΈ͍ͨʹɺϓϥοτϑΥʔϜຖʹҧ͏࣮͕ෆՄܽͷ߹͋Δɻ ͦͷ࣌ɺ·ͣcommonMainʹexpectम০ࢠΛ͚ͭͯΫϥε / ϝιουΛఆٛ͢Δͷɻ ֤ϓϥοτϑΥʔϜʹ͚ͯɺΫϥε / ϝιουͷ"ଘࡏ"Λఆٛ͢ΔΠϝʔδͶɻ ԁ߳ ✦
✦ // จࣈΛग़ྗ͢Δϝιου expect object Log { fun debug(message: String) } FYQFDUम০ࢠ ˠϝιουͷதϓϥοτϑΥʔϜຖʹ ɹ࣮͢ΔͷͰ͜͜Ͱۭ
48 actual object Log { actual fun debug(message: String) {
android.util.Log.d("debug", message) } } actual object Log { actual fun debug(message: String) { println("debug: $message") } } actual object Log { actual fun debug(message: String) { console.log("debug: $message") } } ͦͯ͠ɺandroidMainiosMainͰΫϥε / ϝιουͷதΛ࣮͢Δɻ actualम০ࢠΛઌ಄ʹ͚ͭΔ͜ͱͰɺexpectͳΫϥε / ϝιουͱରԠ͚͕ͮͰ͖ΔɺͦΜͳײ͡ɻ ԁ߳ ✦ ✦ BDUVBMम০ࢠ
49 ͜͜·Ͱͬ͘͟ΓίʔυΛݟ͚ͤͨͲɺಈ࡞֬ೝલʹΑ͘ϋϚΔͷ͕ɺϏϧυεΫϦϓτपΓɻ ͔ͩΒॳΊͯ৮Δ࣌ɺKotlin Multiplatform MobileΛ͏ͱָͶɻ υΩϡϝϯτॆ࣮͍ͯ͠Δ͠ɺҰಡΜͰ͓͘ͱ͢ΜͳΓਐΉΜ͡Όͳ͍ʁ ԁ߳ ✦ ✦ ,PUMJO.VMUJQMBUGPSN.PCJMF
,.. ,PUMJO.11ͰͷϞόΠϧ։ൃΛָʹ͢Δ1MVHJO "OESPJE4UVEJP 9DPEFҎ߱ ͜ͷࢿྉͷαϯϓϧίʔυ࡞ʹ׆༻ ϦϯΫIUUQTLPUMJOMBOHPSHMQNPCJMF
50 50 ͑ɺͳΜ͔ͦ͢͝͏ɻ Ͷ͐ɺKotlin MPPͬͯ͞ɺͲ͜·Ͱڞ௨ԽͰ͖ΔΜͩΖ͏Ͷɻ ಁ ✦ ✦ ,PUMJO.VMUJQMBUGPSN.PCJMF ,..
,PUMJO.11ͰͷϞόΠϧ։ൃΛָʹ͢Δ1MVHJO "OESPJE4UVEJP 9DPEFҎ߱ ͜ͷࢿྉͷαϯϓϧίʔυ࡞ʹ׆༻ ϦϯΫIUUQTLPUMJOMBOHPSHMQNPCJMF
51 ฉ͍ͨ͜ͱ͕͋ΔͷͳΒɺʮ֎՟ܭࢉʯʮ੫ֹܭࢉʯͷڞ௨Խɻ খ͞ͳζϨڐ͞Εͳ͍ػೳ͔ͩΒಋೖޮՌߴ͍͠ɺͳ͓͔ͭඇಉظॲཧհࡏ͠ͳ͍͔Βɺ ݱߦͷKotlin MPPͰ҆৺ͯ͠ར༻Ͱ͖ΔྖҬͱݴ͑ΔͰ͠ΐ͏Ͷɻ ԁ߳ ✦ ✦
52 ͦΕ͔Βɺ࠷ۙHttpΫϥΠΞϯτͷKtorJSONγϦΞϥΠβͷkotlinx.serializationɺ ඇಉظॲཧΛѻ͏CoroutinesKotlin MPPʹରԠ͍ͯ͠Δ͠ɺࣄྫ͕গͳ͍͚ͩͰ ڞ௨ԽͰ͖Δൣғ͔ͳΓ͍Μ͡Όͳ͍ʁɹΒͳ͍͚Ͳɻ ԁ߳ ✦ ✦ ,PUMJO.11ରԠͷϥΠϒϥϦ
,UPS)UUQΫϥΠΞϯτɻ+FU#SBJOTɻ LPUMJOYTFSJBMJ[BUJPO+40/γϦΞϥΠβσγϦΞϥΠβɻ+FU#SBJOTɻ ,PUMJO$PSPVUJOFTඇಉظॲཧΠΠײ͡ʹ͢Δɻ+FU#SBJOTɻ LPJO,PEFJOґଘੑೖ %* ϥΠϒϥϦɻ ,PUFTUϢχοτςετϑϨʔϜϫʔΫɻ
53 ઌिݟͨLTձͰɺMVVMΞʔΩςΫνϟͷViewModelɺͭ·ΓUIϩδοΫ·Ͱڞ௨Խͨ͠ɺ ͳΜͯΛϓϩσϡʔαʔ͕͍͚ͯͨ͠Ͳɺ·Δʹ͕͔͔࣌ؒΓͦ͏Ͷɻ ԁ߳ ✦ ✦ ࢿྉIUUQTTQFBLFSEFDLDPNTVCSPIKFUQBDLDPNQPTFEFHBO[JUBTJBXBTFOBUPLPSP
54 ͯ͞ɺઆ໌͜ΕͰऴΘΓɻͲ͏ʁɹͰ͖ͦ͏ʁ ԁ߳ ✦ ✦
55 ʙʙʙὑɹԁ߳ઌഐɺઆ໌Θ͔Γ͢ʙ͍ʂ ͜ΕͩͬͨΒɺ՝શ෦ɺԁ߳ઌഐʹ͓ئ͍ͨ͠ํ͕ૣͦ͏ʙʙʙʂʂʂ ࡊ ✦ ✦
56 צหͯ͠……ɻখࢳɺޙཔΜͩɻ ԁ߳ ✦ ✦
57 ͽΌͬʂʂʂɹ……͋ɺ͋Γ͕ͱ͏ɺԁ߳ͪΌΜʂ ͲɺͲ͏……ʁɹਐΊΒΕͦ͏ɺಁͪΌΜ……ʁ খࢳ ✦ ✦
58 ;;;ɺେৎɺ͏ᘳɻ Kotlin Multiplatformɺશʹཧղͨ͠ɻ ಁ ✦ ✦
59 …… খࢳ ✦ ✦
60 …… ԁ߳ ✦ ✦
61 ……͊ɻख͏ɻઙɺ՝Έͤͯɻ ԁ߳ ✦ ✦
62 ͑ʙʙʙͣΔ͍ʙʙʙʂɹࡊಁઌഐʹڭ͑Δʙʙʙʂʂʂ ࡊ ✦ ✦
63 ……ͭͮ͘(?) ✦ ✦
,PUMJO.11ͱٔΕΔϊΫνϧ ΞΠϚεϋοΧιϯΦϯϥΠϯʂ ʹ͜͠Γ͞ͿΖʙ!TVCSPI@ )BWFBOJDF,PUMJO