~/talk

Design of Kotlin Serialization

Talkat KotlinConf 2019 · 2019-12-04..12-06· [kotlin, web-platform]
slides:none on file

Library design centers on a compiler plugin plus runtime that compiler plugin generates serializers so Kotlin classes serialize without reflection and produce no-reflection, compile-time errors when a serializer is missing. It targets JVM JS and Native, reuses one serializer across JSON protobuf or custom formats, and exposes a descriptor tree for schema or SQL/resultset binding. Demo implementations include a custom Bundle writer, a content-hash encoder, and a prepared-statement encoder that all compile and run across platforms.

AI-written summary · about

  1. 0:00DESIGN OF KOTLINX.SERIALIZATION LEONID STARTSEV
  2. 0:58At a first glance, it looks like a regular JSON library
  3. 2:24Kotlin-oriented
  4. 5:01Implicit requires opt-in
  5. 6:44Explicit & concise & compile-time safe
  6. 7:42Formats are pluggable
  7. 8:22Difference between serializer and format
  8. 9:41Formats have their specific configuration
  9. 10:24Why @Serializable and apply plugin::.'?
  10. 11:40What is a compiler plugin, anyway?
  11. 14:40Which methods does Encoder have?
  12. 17:06How to handle structured data
  13. 17:40Transform from multiple values
  14. 21:31SerialDescriptor
  15. 22:46Format interfaces don't tell you anything about... format
  16. 27:08JSON Schema
  17. 28:30Roadmap
  18. 30:59THANK YOU AND REMEMBER TO VOTE
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.