It’s time to talk about meta-programming, annotation processors and compiler plugins 🧙‍♂️. Today we have Zac Sweers on stage, Mobile Engineer @ Slack and maintainer of Moshi, a popular Json library.

Zac is the author of MoshiX, a set of extensions for Moshi. Between those, one that caught my attention was moshi-ksp. KSP (Kotlin Symbol Processing API) is set to revolutionize the landscape of annotations processors in Kotlin. Join us on this deep dive on code generation and more.

Enjoy the show 👨‍🍳

Show Notes

  • 00.18 Intro
  • 01.05 Episode Start
  • 01.28 Zac’s Introduction
  • 03.03 What is Metaprogramming?
  • 04.42 What is KSP?
  • 05.26 What about KAPT
  • 08.20 Overcoming KAPT costs
  • 09.50 Beyond KAPT
  • 11.26 KSP API & Features
  • 15.02 Your story of Moshi
  • 17.46 Kotlin Metadata
  • 19.16 Generating Moshi Adapters
  • 20.18 What is MoshiX?
  • 23.44 MoshiX & KSP
  • 25.07 Adopters and Success Stories
  • 28.02 From MoshiX to Moshi
  • 30.57 Kotlin Compiler Plugins
  • 36.20 Compiler Plugin opportunities
  • 38.53 A Moshi Compiler Plugin?
  • 41.00 Metaprogramming beyond Java/Kotlin
  • 45.06 What’s next for MoshiX?
  • 54.44 Further reading
  • 60.15 Where to find Zac online?

Resources

Show links

Posted: