Report from KotlinConf 2018

Report from KotlinConf 2018

B0f8177e3259f29952640f98bf795965?s=128

satorufujiwara

October 13, 2018
Tweet

Transcript

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

  2. About me Satoru Fujiwara (@satorufujiwara) Developer Relations @ LINE Corp

    Organizer of Shibuya.apk & JKUG ༁ॻ : Kotlin ΠϯɾΞΫγϣϯ ஶॻ : Android ΞϓϦઃܭύλʔϯೖ໳
  3. Kotlin & Me • 2015೥3݄ΑΓKotlinͰAndroidΞϓϦΛ։ൃ • 2017೥ ʮKotlin ΠϯɾΞΫγϣϯʯΛ຋༁ •

    2018೥ ೔ຊKotlinϢʔβάϧʔϓͱͯ͠ʮKotlin Fest 2018ʯΛओ࠵ • dex.fm #58 ͰKotlinʹ͍͍ͭͯΖ͍Ζ࿩ͯ͠·͢
  4. KotlinConf 2018 ࠷଎ʁϨϙʔτ

  5. KotlinConf ͱ͸ • ʮKotlinʯΛςʔϚʹͨ͠ΧϯϑΝϨϯε • JetBrains͕ओ࠵ • ڈ೥(αϯϑϥϯγεί)ʹଓ͖2ճ໨ͷ։࠵ • 1300ਓҎ্ͷࢀՃऀ

    (νέοτ׬ചɺڈ೥΋΄΅ಉ਺Ͱ׬ച)
  6. ୈೋճ໨͸ΦϥϯμͷΞϜεςϧμϜͰ։࠵

  7. 7 ձ৔पล

  8. 8 ձ৔֎؍

  9. 9 ϒʔεΤϦΞ

  10. 10 Ωʔϊʔτձ৔

  11. 11 ηογϣϯ෦԰

  12. 12 খηογϣϯձ৔

  13. 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!
  14. KotlinConf 2018 Keynote

  15. Kotlin Conf 2018 Keynote • KotlinͷݴޠઃܭऀͰ͋Δ Andrey Breslav ࢯ͕ొஃ •

    ಈը͕ެ։͞Ε͍ͯΔ • JetBrains BlogʮKotlinConf 2018 Announcementsʯ • https://blog.jetbrains.com/kotlin/2018/10/kotlinconf-2018-announcements/
  16. Keynote Topics • KotlinͷݴޠઃܭͷՁ஋؍ʮPragmaticʯ • Momentum = Kotlinͷ੝Γ্͕Γ • Industry

    = Kotlinͷۀքಈ޲ • Kotlin 1.3ʹ͍ͭͯ • Evolution = KotlinͷਐԽͷํ޲ੑ
  17. Pragmatic

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

  19. Kotlin ͷ Pragmatic • Concision Ͱ͸ͳ͘ Readability • Expressiveness Ͱ͸ͳ͘

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

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

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

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

  24. Kotlinͷ࣮༻ओٛ (Pragmatic) • ಡΈ΍͘͢ (Readability) • ࠶ར༻ՄೳͰ (Reuse) • ૬ޓӡ༻ੑ͕͋Γ

    (Interoperability) • ҆શͰ (Safety) • πʔϧ͕ॆ࣮ (Tooling)
  25. Momentum

  26. Kotlinͷ੝Γ্͕Γ (Momentum) • 2018೥10݄࣌఺Ͱ1.5M(1500ສ)ਓͷ։ൃऀ • Google Play 1000ҐҎ಺ͷAndroidΞϓϦͷ1/4͕KotlinΛ࢖༻ • KotlinΛ࢖ͬͨAndroidΞϓϦ͕1೥Ͱ4ഒʹ

    • αʔόͰͷ࢖༻͸MAUϕʔεͰ2ഒʹ • 50ਓऑͷ։ൃνʔϜɾ250ਓҎ্ͷKontributor
  27. Industry

  28. Kotlinͷۀքಈ޲ (Industry) • ALL FOR SIZES - ͋ΒΏΔۀछͰͷར༻͕૿͖͍͑ͯͯΔ • ελʔτΞοϓ΍ۚ༥ۀքͳͲ

    • Microsoft͸ϞόΠϧͷSDKΛKotlin΁Ҡߦ͠APIΛҡ࣋ͨ͠··ɺ 25ˋͷίʔυ࡟ݮ • JetBrains / Google ͕ࢧԉ͢Δ Foundation ͷઃཱ • ཧࣄʹAndreyࢯ(JetBrains)ɺStephanieࢯ(Google, Android)ͳͲ
  29. Kotlin 1.3

  30. Kotlin 1.3 • ಛผͳൃද͸ͳ͍ɺͳͥͳΒKotlin͸OSSͰ͋Γɺมߋ఺ͷશͯ ͕GitHub্ʹ͋Δ͔Β • JetBrains BlogʮKotlinConf 2018 Announcementsʯ΍

    kotl.in/1.3 ʹมߋ఺͕هࡌ͞Ε͍ͯ·͢
  31. Kotlin 1.3 • Coroutines͕Stableʹ • Kotlin/Native͕BETAϦϦʔε • Ϗϧυ͕࣌ؒ1.2.10ʹൺ΂ͯ75ˋ΄Ͳʹ • Contracts

    / Inline classesͳͲͷexperimentalͳػೳ͕௥Ճ
  32. 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
  33. Evolution

  34. ϓϩάϥϛϯάݴޠͷਐԽ(Evolution) • Keep the language modern • Comfortable update •

    ͜ΕΒ͸͓ޓ͍ʹ੍໿͕͋Δ΋ͷͳͷͰόϥϯεΛͱΔඞཁ͕ ͋Δ • KotlinͰ͸IDEʹΑΔϙοϓΞοϓ΍ɺࣗಈͰͷMigrationͳͲΛ ࢖͍ɺշదͳҠߦΛॿ͚Δ
  35. KotlinͷਐԽͷͨΊʹ • Feedback loop ͕େࣄ • ͦͷͨΊʹϦϦʔεલʹ͸EAP΍RCόʔδϣϯΛग़͢

  36. Learning

  37. Kotlinͷֶश • CourseraʹʮKotlin for Java Developersʯͱ͍͏ίʔε͕͋Δ • https://www.coursera.org/learn/kotlin-for-java-developers • Atomic

    Kotlinͱ͍͏ຊ͕ݱࡏࣥච͞Ε͍ͯΔ • https://www.atomickotlin.com/ • ΞʔϦʔΞΫηε͕Մೳ
  38. Kotlinͷ೔ຊޠϦιʔε • ʮKotlin ΠϯɾΞΫγϣϯʯ • ຊ೔࿩Λͨ͠Kotlinͷݴޠઃܭͷ఩ֶͰ͋ ΔPragmaticʹ͍ͭͯ΋ॻ͔Ε͍ͯΔ

  39. One more thing…

  40. kotl.in links • kotl.in/foundation • kotl.in/coroutines • kotl.in/native • kotl.in/multiplatform

    • kotl.in/1.3 • kotl.in/learn
  41. HAVE A NICE KOTLIN!