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
570
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 for Webでポートフォリオサイトを作る
subroh0508
1
68
あらゆるアプリをCompose Multiplatformで書きたい! -ネイティブアプリの「あの機能」を私たちはどう作るか-
subroh0508
1
2.2k
登壇の心理的ハードルをコントロールする技術
subroh0508
2
480
テストコードを書きながらCompose Multiplatformを乗りこなす
subroh0508
0
700
自己効力感を二次元アイドル作品から得ながら社会人としての成長を超加速させる
subroh0508
2
630
担当アイドルを応援する傘を作ろう! (として失敗した話)
subroh0508
0
580
buildSrc/Composite Buildで必要なバージョン情報も Version Catalogから参照したい!
subroh0508
0
1.4k
フロントエンドもJetpack Composeで書きたい! -Compose for WebはモダンWebアプリケーションの夢を見るか?-
subroh0508
0
890
det(A-λE) = 0 〜我々はなぜ三峰結華に惹かれるのか〜
subroh0508
0
190
Other Decks in Technology
See All in Technology
Amazon CloudWatch Network Monitor のススメ
yuki_ink
1
200
B2B SaaSから見た最近のC#/.NETの進化
sansantech
PRO
0
750
DMARC 対応の話 - MIXI CTO オフィスアワー #04
bbqallstars
1
160
Python(PYNQ)がテーマのAMD主催のFPGAコンテストに参加してきた
iotengineer22
0
470
複雑なState管理からの脱却
sansantech
PRO
1
140
ExaDB-D dbaascli で出来ること
oracle4engineer
PRO
0
3.8k
AIチャットボット開発への生成AI活用
ryomrt
0
170
SSMRunbook作成の勘所_20241120
koichiotomo
2
130
100 名超が参加した日経グループ横断の競技型 AWS 学習イベント「Nikkei Group AWS GameDay」の紹介/mediajaws202411
nikkei_engineer_recruiting
1
170
Can We Measure Developer Productivity?
ewolff
1
150
ドメイン名の終活について - JPAAWG 7th -
mikit
33
20k
Terraform CI/CD パイプラインにおける AWS CodeCommit の代替手段
hiyanger
1
240
Featured
See All Featured
How to Ace a Technical Interview
jacobian
276
23k
The Cult of Friendly URLs
andyhume
78
6k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
Become a Pro
speakerdeck
PRO
25
5k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
0
89
Intergalactic Javascript Robots from Outer Space
tanoku
269
27k
Happy Clients
brianwarren
98
6.7k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
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