Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Kotlin Updates in LL2019

Kotlin Updates in LL2019

Avatar for ENDO Yasuyuki

ENDO Yasuyuki

August 24, 2019
Tweet

More Decks by ENDO Yasuyuki

Other Decks in Programming

Transcript

  1. Kotlin とは (2/3) JetBrains が開発したコンパイラ⾔語 JVM バイトコードへのコンパイル JavaScript へのトランスパイル LLVM

    中間表現へのコンパイル Null 安全 スマートキャスト データクラス ( ボイラープレートからの解放) ⾼速なコンパイル (Scala に対する優位性) 5
  2. Kotlin の歴史 (1/3) バージョン1.0 未満は省略しました。 年⽉ バージョ ン 主なトピック 2016

    年2 ⽉ 1.0 Java との完全互換 Java6 バイトコードへのコン パイル 2017 年5 ⽉ Android の開発⾔語として正 式採⽤ 9
  3. Kotlin の歴史 (2/3) 年⽉ バージ ョン 主なトピック 2017 年 3

    ⽉ 1.1 JavaScript 対応 コルーチン( 実験的) async/await,yield Java9 サポート コンパイル速度の向上 2017 年 11 ⽉ 1.2 マルチプラットフォームプロジ ェクト( 実験的) 10
  4. マルチプラットフォームプロ ジェクト ( 実験的 ) 1 つのプロジェクトで複数ターゲットのビルドが可 能 build.gradle などに記述

    gradle init でプロジェクトが作れる訳ではない( テ ンプレートがない) 参考⽂献: https://kotlinlang.org/docs/reference/building- mpp-with-gradle.html 15
  5. JavaScript 対応 とりあえずKotlin からJavaScript にトランスパイル はできる TypeScript やDart と⽐べて便利かというと... Kotlin/Native

    でWebAssembly にコンパイルする⽅ が有望...? 参考⽂献: https://speakerdeck.com/subroh0508/jstoge-dou- sinagarakotlinfalseiketeruwen-fa-woxue-bu 17
  6. Kotlin 1.3 以降の書き⽅ 契約(Contracts) によって String#isNullOrBlank が false なら null

    でないことごが保証されるので capitalize() が呼べる 参考⽂献: https://speakerdeck.com/ntaro/kotlin- contracts-number-m3kt 31
  7. Kotlin の書籍 (2/2) Dmitry Jemerov/Svetlana Isakova "Kotlin in Action" 2017

    ( 訳書あり) Pierre-Yves Saumont "Joy of Kotlin" 2019 35