
MoshiX and KSP with Zac Sweers
Today we deep dive into metaprogramming, code generation and compiler plugins with Zac Sweers, talking about his experience with MoshiX and KSP
Audio is streamed directly from the publisher (dts.podtrac.com) as published in their RSS feed. Play Podcasts does not host this file. Rights-holders can request removal through the copyright & takedown page.
Show Notes
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
- ZacSweers/MoshiX on Github
- google/ksp on Github
- square/moshi on Github
- ZacSweers/redacted-compiler-plugin on Github
- square/kotlinpoet on Github
- KSP Quick Start
- KotlinConf 2018 - Annotation Processing in a Kotlin World
- @ZacSweers on Github
- Zac’s Blog
- @ZacSweers on Twitter