$30 off During Our Annual Pro Sale. View Details »

Kotlin Serializationことはじめ

slme
August 24, 2019

Kotlin Serializationことはじめ

slme

August 24, 2019
Tweet

More Decks by slme

Other Decks in Technology

Transcript

  1. KotlinSerialization ことはじめ
    概要と入門

    View Slide

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

    View Slide

  3. What is Kotlin Serialization

    View Slide

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

    View Slide

  5. View Slide

  6. Http clientとの組み合わせは?

    View Slide

  7. Ktor Client

    View Slide

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

    View Slide

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

    View Slide

  10. Moshi, GsonはOkioを使っている

    OkHttpを扱う際はそちらのほうが相性が良い

    View Slide

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

    View Slide

  12. 速度は?

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide