Slide 1

Slide 1 text

KotlinConf 2018 ࠷଎Ϩϙʔτ 2018.10.13 Android Bazaar and Conference @satorufujiwara

Slide 2

Slide 2 text

About me Satoru Fujiwara (@satorufujiwara) Developer Relations @ LINE Corp Organizer of Shibuya.apk & JKUG ༁ॻ : Kotlin ΠϯɾΞΫγϣϯ ஶॻ : Android ΞϓϦઃܭύλʔϯೖ໳

Slide 3

Slide 3 text

Kotlin & Me • 2015೥3݄ΑΓKotlinͰAndroidΞϓϦΛ։ൃ • 2017೥ ʮKotlin ΠϯɾΞΫγϣϯʯΛ຋༁ • 2018೥ ೔ຊKotlinϢʔβάϧʔϓͱͯ͠ʮKotlin Fest 2018ʯΛओ࠵ • dex.fm #58 ͰKotlinʹ͍͍ͭͯΖ͍Ζ࿩ͯ͠·͢

Slide 4

Slide 4 text

KotlinConf 2018 ࠷଎ʁϨϙʔτ

Slide 5

Slide 5 text

KotlinConf ͱ͸ • ʮKotlinʯΛςʔϚʹͨ͠ΧϯϑΝϨϯε • JetBrains͕ओ࠵ • ڈ೥(αϯϑϥϯγεί)ʹଓ͖2ճ໨ͷ։࠵ • 1300ਓҎ্ͷࢀՃऀ (νέοτ׬ചɺڈ೥΋΄΅ಉ਺Ͱ׬ച)

Slide 6

Slide 6 text

ୈೋճ໨͸ΦϥϯμͷΞϜεςϧμϜͰ։࠵

Slide 7

Slide 7 text

7 ձ৔पล

Slide 8

Slide 8 text

8 ձ৔֎؍

Slide 9

Slide 9 text

9 ϒʔεΤϦΞ

Slide 10

Slide 10 text

10 Ωʔϊʔτձ৔

Slide 11

Slide 11 text

11 ηογϣϯ෦԰

Slide 12

Slide 12 text

12 খηογϣϯձ৔

Slide 13

Slide 13 text

Kotlin Conf 2018 Sessions • Keynote + 63 Sessions + Closing Panel • શͯ࿥ը͕ެ։͞ΕΔ • Coroutine / Multiplatform(iOSؚΉ) / Server Side ͕ଟΊ • Android ݻ༗ͷSession͸3ͭ • Android Suspenders • Shaping your app’s architecture with Kotlin and Architecture Components • Android KTX: A dash of Kotlin makes all the difference!

Slide 14

Slide 14 text

KotlinConf 2018 Keynote

Slide 15

Slide 15 text

Kotlin Conf 2018 Keynote • KotlinͷݴޠઃܭऀͰ͋Δ Andrey Breslav ࢯ͕ొஃ • ಈը͕ެ։͞Ε͍ͯΔ • JetBrains BlogʮKotlinConf 2018 Announcementsʯ • https://blog.jetbrains.com/kotlin/2018/10/kotlinconf-2018-announcements/

Slide 16

Slide 16 text

Keynote Topics • KotlinͷݴޠઃܭͷՁ஋؍ʮPragmaticʯ • Momentum = Kotlinͷ੝Γ্͕Γ • Industry = Kotlinͷۀքಈ޲ • Kotlin 1.3ʹ͍ͭͯ • Evolution = KotlinͷਐԽͷํ޲ੑ

Slide 17

Slide 17 text

Pragmatic

Slide 18

Slide 18 text

Pragmatic • ʮ࣮༻ओٛʯ • Kotlinͷݴޠઃܭʹ͓͚ΔҰ؏͠ ͨՁ஋؍ • ࣮૷ऀͷߟ͑Λͦͷ··ιϑτ΢Σ Ξʹམͱ͠ࠐΊΔ

Slide 19

Slide 19 text

Kotlin ͷ Pragmatic • Concision Ͱ͸ͳ͘ Readability • Expressiveness Ͱ͸ͳ͘ Reuse • Originality Ͱ͸ͳ͘ Interoperability • Soundness Ͱ͸ͳ͘ Safety / Tooling

Slide 20

Slide 20 text

Concision Ͱ͸ͳ͘ Readability • ؆ܿ͞(Concision)Ͱ͸ͳ͘ಡΈ΍͢͞(Readability)Λॏࢹ • ίʔυ͕୹͚Ε͹ྑ͍ͱ͍͏΋ͷͰ͸ͳ͍ • ϘΠϥʔϓϨʔτ͸ݮΒ͠ɺॻ͍ͨίʔυશͯʹҙຯ͕͋ΔΑ ͏ʹ

Slide 21

Slide 21 text

ExpressivenessͰ͸ͳ͘ Reuse • දݱྗ๛͔(Expressiveness)ʹ͢ΔͷͰ͸ͳ͘ɺ࠶ར༻Մೳ (Reuse)ʹ͢Δ • ඪ४ϥΠϒϥϦʹΑ͘࢖ΘΕΔύλʔϯΛೖΕ͍ͯΔ

Slide 22

Slide 22 text

Originality Ͱ͸ͳ͘Interoperability • ಠࣗੑ(Originality)Λ௥ٻ͢ΔͷͰ͸ͳ͘ɺ૬ޓӡ༻ੑ (Interoperability)Λ௥ٻ • ଞͷݴޠʹ͢Ͱʹ͋Δػೳ΍஌ݟΛऔΓೖΕΔ

Slide 23

Slide 23 text

Soundness Ͱ͸ͳ͘ Safety / Tooling • ݴޠతͳݎ࿚͞(Soundness)Λॏࢹ͢ΔͷͰ͸ͳ͘ɺ҆શ͞ (Safety)΍πʔϧʹΑΔαϙʔτ(Tooling)Λॏࢹ • Kotlin͕੩తܕ෇͖ݴޠͰ͋Δཧ༝

Slide 24

Slide 24 text

Kotlinͷ࣮༻ओٛ (Pragmatic) • ಡΈ΍͘͢ (Readability) • ࠶ར༻ՄೳͰ (Reuse) • ૬ޓӡ༻ੑ͕͋Γ (Interoperability) • ҆શͰ (Safety) • πʔϧ͕ॆ࣮ (Tooling)

Slide 25

Slide 25 text

Momentum

Slide 26

Slide 26 text

Kotlinͷ੝Γ্͕Γ (Momentum) • 2018೥10݄࣌఺Ͱ1.5M(1500ສ)ਓͷ։ൃऀ • Google Play 1000ҐҎ಺ͷAndroidΞϓϦͷ1/4͕KotlinΛ࢖༻ • KotlinΛ࢖ͬͨAndroidΞϓϦ͕1೥Ͱ4ഒʹ • αʔόͰͷ࢖༻͸MAUϕʔεͰ2ഒʹ • 50ਓऑͷ։ൃνʔϜɾ250ਓҎ্ͷKontributor

Slide 27

Slide 27 text

Industry

Slide 28

Slide 28 text

Kotlinͷۀքಈ޲ (Industry) • ALL FOR SIZES - ͋ΒΏΔۀछͰͷར༻͕૿͖͍͑ͯͯΔ • ελʔτΞοϓ΍ۚ༥ۀքͳͲ • Microsoft͸ϞόΠϧͷSDKΛKotlin΁Ҡߦ͠APIΛҡ࣋ͨ͠··ɺ 25ˋͷίʔυ࡟ݮ • JetBrains / Google ͕ࢧԉ͢Δ Foundation ͷઃཱ • ཧࣄʹAndreyࢯ(JetBrains)ɺStephanieࢯ(Google, Android)ͳͲ

Slide 29

Slide 29 text

Kotlin 1.3

Slide 30

Slide 30 text

Kotlin 1.3 • ಛผͳൃද͸ͳ͍ɺͳͥͳΒKotlin͸OSSͰ͋Γɺมߋ఺ͷશͯ ͕GitHub্ʹ͋Δ͔Β • JetBrains BlogʮKotlinConf 2018 Announcementsʯ΍ kotl.in/1.3 ʹมߋ఺͕هࡌ͞Ε͍ͯ·͢

Slide 31

Slide 31 text

Kotlin 1.3 • Coroutines͕Stableʹ • Kotlin/Native͕BETAϦϦʔε • Ϗϧυ͕࣌ؒ1.2.10ʹൺ΂ͯ75ˋ΄Ͳʹ • Contracts / Inline classesͳͲͷexperimentalͳػೳ͕௥Ճ

Slide 32

Slide 32 text

Kotlin1.3 ؔ࿈͓͢͢Ίηογϣϯ • Coroutines • Exploring Coroutines in Kotlin / DAY2 10:15 • Kotlin Coroutines in Practice / DAY2 13:00 • Multiplatform • Kotlin/Native concurrency model / DAY1 15:15 • Effective multiplatform Kotlin development / DAY1 17:15 • Contracts • New Type Inference and Related Language Features / DAY1 16:15

Slide 33

Slide 33 text

Evolution

Slide 34

Slide 34 text

ϓϩάϥϛϯάݴޠͷਐԽ(Evolution) • Keep the language modern • Comfortable update • ͜ΕΒ͸͓ޓ͍ʹ੍໿͕͋Δ΋ͷͳͷͰόϥϯεΛͱΔඞཁ͕ ͋Δ • KotlinͰ͸IDEʹΑΔϙοϓΞοϓ΍ɺࣗಈͰͷMigrationͳͲΛ ࢖͍ɺշదͳҠߦΛॿ͚Δ

Slide 35

Slide 35 text

KotlinͷਐԽͷͨΊʹ • Feedback loop ͕େࣄ • ͦͷͨΊʹϦϦʔεલʹ͸EAP΍RCόʔδϣϯΛग़͢

Slide 36

Slide 36 text

Learning

Slide 37

Slide 37 text

Kotlinͷֶश • CourseraʹʮKotlin for Java Developersʯͱ͍͏ίʔε͕͋Δ • https://www.coursera.org/learn/kotlin-for-java-developers • Atomic Kotlinͱ͍͏ຊ͕ݱࡏࣥච͞Ε͍ͯΔ • https://www.atomickotlin.com/ • ΞʔϦʔΞΫηε͕Մೳ

Slide 38

Slide 38 text

Kotlinͷ೔ຊޠϦιʔε • ʮKotlin ΠϯɾΞΫγϣϯʯ • ຊ೔࿩Λͨ͠Kotlinͷݴޠઃܭͷ఩ֶͰ͋ ΔPragmaticʹ͍ͭͯ΋ॻ͔Ε͍ͯΔ

Slide 39

Slide 39 text

One more thing…

Slide 40

Slide 40 text

kotl.in links • kotl.in/foundation • kotl.in/coroutines • kotl.in/native • kotl.in/multiplatform • kotl.in/1.3 • kotl.in/learn

Slide 41

Slide 41 text

HAVE A NICE KOTLIN!