"OESPJEΤϯδχΞࢹͷ,..
w ීஈͷ"OESPJEΞϓϦ։ൃͱͲ͏ҧ͏ʁ
w J04ͷྀඞཁʁ
Slide 8
Slide 8 text
։ൃڥʁ
w "OESPJE4UVEJP,..ϓϥάΠϯ
w WFSTJPOPSIJHIFS
w όʔδϣϯޓੑʹҙ
w "OESPJE4UVEJP
w ,PUMJOϓϥάΠϯ
w ,..ϓϥάΠϯ
Slide 9
Slide 9 text
"OESPJE(SBEMFQMVHJO
w Ҏ্ඇରԠ
w ͔͠͠ɺϫʔΫΞϥϯυͰར༻Մೳ
w IUUQTZPVUSBDLKFUCSBJOTDPNJTTVF,5
w %SPJE,BJHJΞϓϦ͜ͷϫʔΫΞϥϯυΛ͍ͬͯΔ
Slide 10
Slide 10 text
ύοͱݟϚϧνϞδϡʔϧϓϩδΣΫτ
w ςϯϓϨʔτͰ৽نϓϩδΣΫτ࡞Δͱʜ
w "OESPJEΞϓϦϞδϡʔϧ
w ,..ڞ௨Ϟδϡʔϧ
w JPT"QQԼ9DPEFͷϓϩδΣΫτ
w ϚϧνϦϙδτϦՄ
"OESPJEΞϓϦϞδϡʔϧ
9DPEFϓϩδΣΫτ
ڞ௨Ϟδϡʔϧ
Slide 11
Slide 11 text
ڞ௨Ϟδϡʔϧͷத
w DPNNPO.BJOʹڞ௨ίʔυ
w ϓϥοτϑΥʔϜݻ༗ίʔυͦΕͧΕͷ
σΟϨΫτϦԼʹ
w DPNNPO.BJOʹએݴͨ͠JOUFSGBDFΛ֤ϓ
ϥοτϑΥʔϜͰ࣮
w FYQFDUBDUVBMͱ͍͏Έ
"OESPJEݻ༗ίʔυ
J04ݻ༗ίʔυ
ڞ௨ίʔυ
Slide 12
Slide 12 text
ϥΠϒϥϦબఆ৻ॏʹ
w 🙅+BWBϥΠϒϥϦ͑ͳ͍
w %BHHFSˠ,PJO
,PEFJO
w 3FUSP
fi
Uˠ,UPS
w 3PPNˠ4RMEFMJHIU
w IUUQTHJUIVCDPN""LJSB,PUMJO.VMUJQMBUGPSN-JCSBSJFT
Slide 13
Slide 13 text
$PSPVUJOFTͷѻ͍ʹҙ͕ඞཁ
w J04 ,PUMJO/BUJWF
ͷ$PSPVUJOFTγϯάϧεϨου
w ϚϧνεϨουόʔδϣϯผϒϥϯν
dependencies
{
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.3-native-mt")
{
version
{
strictly("1.4.3-native-mt"
)
}
}
}
Slide 14
Slide 14 text
$PSPVUJOFTͷѻ͍ʹҙ͕ඞཁ
w J04 ,PUMJO/BUJWF
҆શͳฒྻॲཧͷͨΊʹGSP[FOͱ͍͏Έ͕
w "OESPJEΤϯδχΞ͕ීஈ௨Γʹڞ௨ίʔυΛ࣮͢Δͱ
J04͚ͩΫϥογϡ💥ͷΑ͏ͳ͜ͱ͕ى͜ΓಘΔ
MainScope().launch
{
var str = “string
"
withContext(Dispatchers.Main)
{
str = “main
"
}
withContext(Dispatchers.Default)
{
str = "default
"
}
)
Slide 15
Slide 15 text
J04ΤϯδχΞࢹͷ,..
w ීஈͷJ04ΞϓϦ։ൃͱͲ͏ҧ͏ʁ
w ԿΛ֮͑ͳ͚ΕͳΒͳ͍ʁ
w ,..ͷίʔυͲ͏ͬͯݺͼग़͢ͷʁ
w ݴ͍͍ͨ͜ͱ͕ଟ͗͢ΔͷͰۦ͚Ͱ
Slide 16
Slide 16 text
։ൃڥʁ
w ͍ͭ௨Γͷ9DPEF
w WFSTJPOPSIJHIFS
w ,PUMJOίʔυॻ͘ͳΒ"OESPJE4UVEJP,..ϓϥάΠϯ
Slide 17
Slide 17 text
,PUMJOͱ4XJGUࣅͯΔʁ
WBM⁶MFU
GVOD⁶GVO
7PJE⁶6OJU
QSPUPDPM⁶JOUFSGBDF
TXJUDI⁶XIFO
FOVN⁶TFBMEDMBTTʁ
͋Δఔͷֶशίετඞཁ͔
fun test(str: String?)
{
str?.count() // ·͘͞͠OptionalνΣΠϯʂ
str!!.count() // ڧ੍Unwra
p
if (str == null) retur
n
// ͜͜OptionalνΣΠϯ͍Βͳ͍ͷ⁉
str.count(
)
}
Ұݟɺҙຯෆ໌ͳεϚʔτΩϟετ
Slide 18
Slide 18 text
(SBEMFͱ͍͏ϏϧυγεςϜ
val iosTarget: (String, KotlinNativeTarget.() -> Unit) -> KotlinNativeTarget
=
if (System.getenv("SDK_NAME")?.startsWith("iphoneos") == true
)
::iosArm6
4
els
e
::iosX6
4
iosTarget("ios")
{
binaries
{
framework
{
baseName = "shared
"
}
}
}
,..ͷϞδϡʔϧ⁶9DPEFͷλʔήοτʁʁʁ
J04 ,PUMJO/BUJWF
͚ͩϏϧυෆՄɾίʔυิෆೳʁ
w IJFSBSDIJDBMQSPKFDUTUSVDUVSF
IUUQTLPUMJOMBOHPSHEPDTNJHSBUJOHNVMUJQMBUGPSNQSPKFDUUPIUNMNJHSBUFUPUIFIJFSBSDIJDBMQSPKFDUTUSVDUVSF
͜Ε͕
͜͏ͳΔ
Slide 26
Slide 26 text
J04 ,PUMJO/BUJWF
͚ͩϏϧυෆՄɾίʔυิෆೳʁ
w IJFSBSDIJDBMQSPKFDUTUSVDUVSF
IUUQTLPUMJOMBOHPSHEPDTNJHSBUJOHNVMUJQMBUGPSNQSPKFDUUPIUNMNJHSBUFUPUIFIJFSBSDIJDBMQSPKFDUTUSVDUVSF
Slide 27
Slide 27 text
·ͱΊ
w "OESPJEΤϯδχΞࢹͰ
w ,..ϚϧνϞδϡʔϧϓϩδΣΫτ
w ϥΠϒϥϦબఆͱίϧʔνϯؾΛΔ͠
w J04ΤϯδχΞ
w ,PUMJO(SBEMFͷֶशίετ͋Δ
w ͦ͜"OESPJEΤϯδχΞʹͤΔͱ͍͏બࢶ͋Δ
w ,PUMJOͷίʔυ0CK$ޓ
w J04 ,PUMJO/BUJWF
͚ͩϏϧυෆՄɾίʔυิෆೳͨ·ʹ͋Δʁ