hamburger

主に日記

「Kotlin Fest 2019」に少しだけ行ってきた

kotlin.connpass.com

セッション一覧

Kotlin Fest 2019 セッション一覧

全体の感想

  • kotlin固有でAndroidに限らないテーマが中心なので、MPP関連が多かった気がする
  • 普段は言語仕様をそこまで意識しないので、深く考えるきっかけになる
  • 皆発表上手

以下、特に印象に残っている内容について

Kotlinの型実践入門

speakerdeck.com

Nothing

  • 値が存在しないことを示す
  • これはコードを見るのが早い
// 処理失敗でUnitを返してしまうと
val unitPattern : Any = if (isHoge) { // Any型になる
  "success"
} else {
  Unit
}

// Nothingにすると 
val nothingPattern : String = if (isHoge) { // Nothing以外で返却される型になる
  "success"
} else {
  Nothing
}
  • プロダクトで利用する良い例が思いつかないけど、失敗時にExceptionを発行するような処理を書くときに使えそう

改めて学ぶContracts

speakerdeck.com

  • そもそもContractsを知らなかったので、この発表を聞きながら理解を深めていった
  • 関数の結果をContract(契約)によって表現する
  • String?.isNullOrBrank のチェック後にアンラップされるのは、結果がnullでないことを関数側から契約で定められてるから、みたいなイメージ。もう少し勉強が必要

Kotlin Serialization ことはじめ

  • jsonでもProtobufでもkotlinでシリアライズできる
  • パフォーマンスはそれほど変わらない
  • jsonのみのAPIならmoshiとかで良い
  • 帰る直前だったので記憶が曖昧。。。資料公開されたらもう一度見たい