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

Kotlin Updates in LL2019

Kotlin Updates in LL2019

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