KotlinSerialization ことはじめ概要と入門
View Slide
$ whoami- slme(スルメ)- @slme_not_found- DMM.com Androidエンジニア- 新卒エンジニア
What is Kotlin Serialization
What is it- 1.3以降あたりで導入された機能- CBOR, JSON, ProtoBufをサポート- 100%Kotlin実装- カスタムシリアライザで自作できる- reflectionを使わない
Http clientとの組み合わせは?
Ktor Client
Retrofithttps://github.com/JakeWharton/retrofit2-kotlinx-serialization-converter
Retrofitの場合: Moshi, GsonKtorの場合: Kotlin Serialization
Moshi, GsonはOkioを使っている↓OkHttpを扱う際はそちらのほうが相性が良い
About Kotlin Serialization- メリット- 100% Kotlin実装- 色々な形式を扱う時に単一で済む- カスタムシリアライザで自作できる- デメリット- JSON単一で扱うかつKotlin/JVMならばMoshiで良い感- Serializationを用いてkamlのように作ってもJVM依存が生まれたりする- 一部不安定 or 非推奨がある
速度は?
https://github.com/wizzardo/json-benchmarks
形式にもよるが大きな変化はない
まとめ- KotlinMPPを考えないかつJSONのみであればMoshiなどで充分- @Seralizableを使うことでJSON以外にもserialize可能になる- 一部 不安定or非推奨あり- ベンチマークは対して大きな変化はない
ご清聴ありがとうございました