Slide 1

Slide 1 text

KotlinSerialization ことはじめ 概要と入門

Slide 2

Slide 2 text

$ whoami - slme(スルメ) - @slme_not_found - DMM.com Androidエンジニア - 新卒エンジニア

Slide 3

Slide 3 text

What is Kotlin Serialization

Slide 4

Slide 4 text

What is it - 1.3以降あたりで導入された機能 - CBOR, JSON, ProtoBufをサポート - 100%Kotlin実装 - カスタムシリアライザで自作できる - reflectionを使わない

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

Http clientとの組み合わせは?

Slide 7

Slide 7 text

Ktor Client

Slide 8

Slide 8 text

Retrofit https://github.com/JakeWharton/retrofit2-kotlinx-serialization-converter

Slide 9

Slide 9 text

Retrofitの場合: Moshi, Gson Ktorの場合: Kotlin Serialization

Slide 10

Slide 10 text

Moshi, GsonはOkioを使っている ↓ OkHttpを扱う際はそちらのほうが相性が良い

Slide 11

Slide 11 text

About Kotlin Serialization - メリット - 100% Kotlin実装 - 色々な形式を扱う時に単一で済む - カスタムシリアライザで自作できる - デメリット - JSON単一で扱うかつKotlin/JVMならばMoshiで良い感 - Serializationを用いてkamlのように作ってもJVM依存が生まれたりする - 一部不安定 or 非推奨がある

Slide 12

Slide 12 text

速度は?

Slide 13

Slide 13 text

https://github.com/wizzardo/json-benchmarks

Slide 14

Slide 14 text

形式にもよるが大きな変化はない

Slide 15

Slide 15 text

まとめ - KotlinMPPを考えないかつJSONのみであればMoshiなどで充分 - @Seralizableを使うことでJSON以外にもserialize可能になる - 一部 不安定or非推奨あり - ベンチマークは対して大きな変化はない

Slide 16

Slide 16 text

ご清聴ありがとうございました