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
Kotlin MPPと戯れるノクチル
Search
subroh_0508
December 05, 2020
Technology
0
620
Kotlin MPPと戯れるノクチル
アイマスハッカソン2020 オンライン!のLT資料です。
https://imas.connpass.com/event/194308/
subroh_0508
December 05, 2020
Tweet
Share
More Decks by subroh_0508
See All by subroh_0508
Compose MultiplatformでもHot Reloadが動くらしい
subroh0508
1
160
Compose for Webでポートフォリオサイトを作る
subroh0508
1
220
あらゆるアプリをCompose Multiplatformで書きたい! -ネイティブアプリの「あの機能」を私たちはどう作るか-
subroh0508
1
2.8k
登壇の心理的ハードルをコントロールする技術
subroh0508
2
570
テストコードを書きながらCompose Multiplatformを乗りこなす
subroh0508
0
1.1k
自己効力感を二次元アイドル作品から得ながら社会人としての成長を超加速させる
subroh0508
2
750
担当アイドルを応援する傘を作ろう! (として失敗した話)
subroh0508
0
620
buildSrc/Composite Buildで必要なバージョン情報も Version Catalogから参照したい!
subroh0508
0
1.6k
フロントエンドもJetpack Composeで書きたい! -Compose for WebはモダンWebアプリケーションの夢を見るか?-
subroh0508
0
970
Other Decks in Technology
See All in Technology
ここはMCPの夜明けまえ
nwiizo
32
13k
Computer Use〜OpenAIとAnthropicの比較と将来の展望〜
pharma_x_tech
6
960
地味にいろいろあった! 2025春のAmazon Bedrockアップデートおさらい
minorun365
PRO
2
550
【Oracle Cloud ウェビナー】ご希望のクラウドでOracle Databaseを実行〜マルチクラウド・ソリューション徹底解説〜
oracle4engineer
PRO
1
140
C++26アップデート 2025-03
faithandbrave
0
1.2k
DjangoCon Europe 2025 Keynote - Django for Data Science
wsvincent
0
420
PagerDuty×ポストモーテムで築く障害対応文化/Building a culture of incident response with PagerDuty and postmortems
aeonpeople
3
540
MCPを理解する
yudai00
12
9.1k
AIでめっちゃ便利になったけど、結局みんなで学ぶよねっていう話
kakehashi
PRO
1
520
2025-04-14 Data & Analytics 井戸端会議 Multi tenant log platform with Iceberg
kamijin_fanta
0
180
MySQL Indexes and Histograms – How they really speed up your queries
lefred
0
150
ビジネスとデザインとエンジニアリングを繋ぐために 一人のエンジニアは何ができるか / What can a single engineer do to connect business, design, and engineering?
kaminashi
2
860
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
4 Signs Your Business is Dying
shpigford
183
22k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
5
550
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.7k
Music & Morning Musume
bryan
47
6.5k
Why Our Code Smells
bkeepers
PRO
336
57k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
690
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
The Straight Up "How To Draw Better" Workshop
denniskardys
233
140k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
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